elastic / elastic/logstash

plugins lack a proper API to understand if DLQ is enabled

Open
#8,064 2 comments 0 reactions 0 assignees View on GitHub
code cleanup DLQ enhancement
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
19h 14m
Merged PRs (30d)
63

Description

Currently plugins have access to the `execution_context.dlq_writer`, that can be three things:

- `nil` if Logstash does not support DLQ
- `PluginDeadLetterQueueWriter` with a `DummyDeadLetterQueueWriter` `inner_writer` if Logstash supports DLQ but DLQ isn't enabled
- `PluginDeadLetterQueueWriter` with a `DeadLetterQueueWriter` `inner_writer` if Logstash supports DLQ and DLQ is enabled

This means that if a plugin wants to know if DLQ is enabled, it's necessary to do:

`@dlq_writer.nil? || @dlq_writer.inner_writer.is_a?(DummyDeadLetterQueueWriter)`

It'd be nice if core provided a better API for plugins to query this state without knowing about the `inner_writer`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.