summaryrefslogtreecommitdiffstats
path: root/database/engine
diff options
context:
space:
mode:
authorStelios Fragkakis <52996999+stelfrag@users.noreply.github.com>2023-11-01 16:22:51 +0200
committerGitHub <noreply@github.com>2023-11-01 16:22:51 +0200
commitca592a96308915bd939fc20faa7abaed91d619cc (patch)
tree8eee35d425a34c07badd31f4892729c3497faa53 /database/engine
parent9d167893413c8fad89d483b255285d29a8cb0644 (diff)
Improve shutdown when collectors are active (#16315)
* Collectors should not be running at this point, but allow shutdown to continue after several retries (workaround) * Proceed with shutdown after 10 attempts
Diffstat (limited to 'database/engine')
-rwxr-xr-xdatabase/engine/rrdengineapi.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/database/engine/rrdengineapi.c b/database/engine/rrdengineapi.c
index 1462ef776f..ac9856760f 100755
--- a/database/engine/rrdengineapi.c
+++ b/database/engine/rrdengineapi.c
@@ -1241,12 +1241,14 @@ int rrdeng_exit(struct rrdengine_instance *ctx) {
// 4. then wait for completion
bool logged = false;
- while(__atomic_load_n(&ctx->atomic.collectors_running, __ATOMIC_RELAXED) && !unittest_running) {
+ size_t count = 10;
+ while(__atomic_load_n(&ctx->atomic.collectors_running, __ATOMIC_RELAXED) && count && !unittest_running) {
if(!logged) {
netdata_log_info("DBENGINE: waiting for collectors to finish on tier %d...", (ctx->config.legacy) ? -1 : ctx->config.tier);
logged = true;
}
sleep_usec(100 * USEC_PER_MS);
+ count--;
}
netdata_log_info("DBENGINE: flushing main cache for tier %d", (ctx->config.legacy) ? -1 : ctx->config.tier);