Skip to content

Commit 9de8ce5

Browse files
committed
config: Add dead letter queue related config
Signed-off-by: Hiroshi Hatake <[email protected]>
1 parent b778a42 commit 9de8ce5

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

include/fluent-bit/flb_config.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,10 @@ struct flb_config {
251251
char *storage_type; /* global storage type */
252252
int storage_inherit; /* apply storage type to inputs */
253253

254+
/* DLQ for non-retriable output failures */
255+
int storage_keep_rejected; /* 0/1 */
256+
char *storage_rejected_path; /* relative to storage_path, default "rejected" */
257+
254258
/* Embedded SQL Database support (SQLite3) */
255259
#ifdef FLB_HAVE_SQLDB
256260
struct mk_list sqldb_list;
@@ -411,6 +415,9 @@ enum conf_type {
411415
#define FLB_CONF_STORAGE_TRIM_FILES "storage.trim_files"
412416
#define FLB_CONF_STORAGE_TYPE "storage.type"
413417
#define FLB_CONF_STORAGE_INHERIT "storage.inherit"
418+
/* Storage DLQ */
419+
#define FLB_CONF_STORAGE_KEEP_REJECTED "storage.keep.rejected"
420+
#define FLB_CONF_STORAGE_REJECTED_PATH "storage.rejected.path"
414421

415422
/* Coroutines */
416423
#define FLB_CONF_STR_CORO_STACK_SIZE "Coro_Stack_Size"

src/flb_config.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,13 @@ struct flb_service_config service_configs[] = {
163163
{FLB_CONF_STORAGE_INHERIT,
164164
FLB_CONF_TYPE_BOOL,
165165
offsetof(struct flb_config, storage_inherit)},
166+
/* Storage / DLQ */
167+
{FLB_CONF_STORAGE_KEEP_REJECTED,
168+
FLB_CONF_TYPE_BOOL,
169+
offsetof(struct flb_config, storage_keep_rejected)},
170+
{FLB_CONF_STORAGE_REJECTED_PATH,
171+
FLB_CONF_TYPE_STR,
172+
offsetof(struct flb_config, storage_rejected_path)},
166173

167174
/* Coroutines */
168175
{FLB_CONF_STR_CORO_STACK_SIZE,
@@ -312,6 +319,7 @@ struct flb_config *flb_config_init()
312319
config->storage_type = NULL;
313320
config->storage_inherit = FLB_FALSE;
314321
config->storage_bl_flush_on_shutdown = FLB_FALSE;
322+
config->storage_rejected_path = NULL;
315323
config->sched_cap = FLB_SCHED_CAP;
316324
config->sched_base = FLB_SCHED_BASE;
317325
config->json_escape_unicode = FLB_TRUE;
@@ -573,6 +581,9 @@ void flb_config_exit(struct flb_config *config)
573581
if (config->storage_bl_mem_limit) {
574582
flb_free(config->storage_bl_mem_limit);
575583
}
584+
if (config->storage_rejected_path) {
585+
flb_free(config->storage_rejected_path);
586+
}
576587

577588
#ifdef FLB_HAVE_STREAM_PROCESSOR
578589
if (config->stream_processor_file) {

0 commit comments

Comments
 (0)