Skip to content

Commit ccbcbf8

Browse files
engine: send backlog chunks on shutdown
Signed-off-by: Anuj Singh <[email protected]> Co-authored-by: Wesley Pettit <[email protected]>
1 parent 34f16ab commit ccbcbf8

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

src/flb_engine.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,8 @@ int flb_engine_start(struct flb_config *config)
964964

965965
ret = sb_segregate_chunks(config);
966966

967-
if (ret) {
967+
if (ret < 0)
968+
{
968969
flb_error("[engine] could not segregate backlog chunks");
969970
return -2;
970971
}
@@ -1049,6 +1050,18 @@ int flb_engine_start(struct flb_config *config)
10491050
if (ret > 0 && (config->grace_count < config->grace || config->grace == -1)) {
10501051
if (config->grace_count == 1) {
10511052
flb_task_running_print(config);
1053+
/*
1054+
* If storage.backlog.shutdown_flush is enabled, attempt to flush pending
1055+
* filesystem chunks during shutdown. This is particularly useful in scenarios
1056+
* where Fluent Bit cannot restart to ensure buffered data is not lost.
1057+
*/
1058+
if (config->storage_bl_shutdown_flush) {
1059+
ret = sb_segregate_chunks(config);
1060+
if (ret < 0) {
1061+
flb_error("[engine] could not segregate backlog chunks during shutdown");
1062+
return -2;
1063+
}
1064+
}
10521065
}
10531066
if ((mem_chunks + fs_chunks) > 0) {
10541067
flb_info("[engine] pending chunk count: memory=%d, filesystem=%d; grace_timer=%d",

0 commit comments

Comments
 (0)