diff options
author | Klearchos Chaloulos <klearchos.chaloulos@nokia.com> | 2016-04-05 13:47:04 +0300 |
---|---|---|
committer | Klearchos Chaloulos <klearchos.chaloulos@nokia.com> | 2016-04-05 17:37:00 +0300 |
commit | d79ca7a622abbb0df6f5166cc0e4669373d9a614 (patch) | |
tree | f49167fcfbbdb02c267b0026e1c1022fa4fab7ae /src/journal-remote/journal-upload.h | |
parent | 050d7e19983e6123cba650907d7d33acf2640956 (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.h | 1 |
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) |