summaryrefslogtreecommitdiff
path: root/src/journal-remote/journal-upload.h
diff options
context:
space:
mode:
authorKlearchos Chaloulos <klearchos.chaloulos@nokia.com>2016-04-05 13:47:04 +0300
committerKlearchos Chaloulos <klearchos.chaloulos@nokia.com>2016-04-05 17:37:00 +0300
commitd79ca7a622abbb0df6f5166cc0e4669373d9a614 (patch)
treef49167fcfbbdb02c267b0026e1c1022fa4fab7ae /src/journal-remote/journal-upload.h
parent050d7e19983e6123cba650907d7d33acf2640956 (diff)
journal-upload: Update watchdog while in curl_easy_perform
It is observed that a combination of high log throughput, low I/O speed on journal remote side and many nodes uploading simultaneously caused the journal-upload process to dump core because of watchdog starvation. This is caused because journal-upload stays in curl_easy_perform(), because it cannot upload fast enough to reach the end of the journal. Currently journal-upload will return from curl_easy_perform() only when the end of the journal is reached. Therefore a check is added in journal_input_callback(), which will update the watchdog if the elapsed time since the start of the uploading process is greater than WATCHDOG_USEC/2.
Diffstat (limited to 'src/journal-remote/journal-upload.h')
-rw-r--r--src/journal-remote/journal-upload.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/journal-remote/journal-upload.h b/src/journal-remote/journal-upload.h
index b8cd04d527..a31735bd08 100644
--- a/src/journal-remote/journal-upload.h
+++ b/src/journal-remote/journal-upload.h
@@ -48,6 +48,7 @@ typedef struct Uploader {
size_t entries_sent;
char *last_cursor, *current_cursor;
+ bool reset_reference_timestamp;
} Uploader;
#define JOURNAL_UPLOAD_POLL_TIMEOUT (10 * USEC_PER_SEC)