diff options
author | Stelios Fragkakis <52996999+stelfrag@users.noreply.github.com> | 2023-11-01 16:22:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-01 16:22:51 +0200 |
commit | ca592a96308915bd939fc20faa7abaed91d619cc (patch) | |
tree | 8eee35d425a34c07badd31f4892729c3497faa53 /database/engine | |
parent | 9d167893413c8fad89d483b255285d29a8cb0644 (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-x | database/engine/rrdengineapi.c | 4 |
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); |