diff --git a/config/pipelines.yml b/config/pipelines.yml index 8b186eda4..1940a01b6 100644 --- a/config/pipelines.yml +++ b/config/pipelines.yml @@ -67,3 +67,13 @@ # # # Enable Dead Letter Queueing for this pipeline. # dead_letter_queue.enable: false +# +# If using dead_letter_queue.enable: true, the maximum size of dead letter queue for this pipeline. Entries +# will be dropped if they would increase the size of the dead letter queue beyond this setting. +# Default is 1024mb +# dead_letter_queue.max_bytes: 1024mb +# +# If using dead_letter_queue.enable: true, the directory path where the data files will be stored. +# Default is path.data/dead_letter_queue +# +# path.dead_letter_queue: \ No newline at end of file diff --git a/logstash-core/lib/logstash/pipeline_settings.rb b/logstash-core/lib/logstash/pipeline_settings.rb index 1d5956051..7984b5481 100644 --- a/logstash-core/lib/logstash/pipeline_settings.rb +++ b/logstash-core/lib/logstash/pipeline_settings.rb @@ -12,8 +12,10 @@ module LogStash "config.reload.interval", "config.string", "dead_letter_queue.enable", + "dead_letter_queue.max_bytes", "metric.collect", "path.config", + "path.dead_letter_queue", "path.queue", "pipeline.batch.delay", "pipeline.batch.size", diff --git a/logstash-core/spec/logstash/config/source/multi_local_spec.rb b/logstash-core/spec/logstash/config/source/multi_local_spec.rb index a384d7abd..b4d6de0ca 100644 --- a/logstash-core/spec/logstash/config/source/multi_local_spec.rb +++ b/logstash-core/spec/logstash/config/source/multi_local_spec.rb @@ -155,5 +155,16 @@ describe LogStash::Config::Source::MultiLocal do expect { subject.pipeline_configs }.to raise_error(ArgumentError) end end + + context 'using dead letter queue settings' do + let(:retrieved_pipelines) do [ + { "pipeline.id" => "main", "path.dead_letter_queue" => "/tmp", "dead_letter_queue.max_bytes" => 10000 }, + ] + end + it "should not raise an error" do + expect { subject.pipeline_configs }.not_to raise_error(ArgumentError) + end + + end end end