# Dead\_lettter\_queue plugin error and data processing behavior

**URL:** <https://discuss.elastic.co/t/dead-lettter-queue-plugin-error-and-data-processing-behavior/162879>\
**Category:** Logstash\
**Created:** [January 4, 2019, 12:55am UTC](https://discuss.elastic.co/t/dead-lettter-queue-plugin-error-and-data-processing-behavior/162879 "2019-01-04T00:55:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Karthik\_Ramachandran](https://avatars.discourse-cdn.com/v4/letter/k/f19dbf/32.png) [@Karthik\_Ramachandran](https://discuss.elastic.co/u/Karthik_Ramachandran)\
**Post date:** [January 4, 2019, 12:55am UTC](https://discuss.elastic.co/t/dead-lettter-queue-plugin-error-and-data-processing-behavior/162879/1 "2019-01-04T00:55:08Z")

</div>

**Situation:**

- Logstash version (Docker Image 6.2.4)
- Multi-Pipeline mode is used for executing many pipelines
- dead-letter data processing pipeline is with id "main". We have 20+ pipelines apart from main
- The idea of main pipeline is to process any dead-letter data generated by other 20+ pipelines into a separate indice that has no strict mappings defined
- Example dead-letter picking configuration  
dead\_letter\_queue {  
path =\> "/var/log/logstash/deadletter"  
commit\_offsets =\> true  
pipeline\_id =\> "XYZ"  
}...this configuration is repeated for each other pipeline id.
- Pipelines.yml representing multi-pipeline has a entry for deadletter pipeline with id as "main"

Below is the behavior observed, and any guidance on fixing the issue would be helpful

Logstash is started for the **first time**

- deadletter/respective pipeline folder created
- No dead letter queue data is processed though there is data in deadletter/.log files coming thru'
- No error on docker logs around dlq plugin

Logstash is restarted (docker instance. NOTE: Only one instance is running)

- Getting below error after each pipeline is started  
[ERROR] 2019-01-04 00:15:30.256 [[main]\<dead\_letter\_queue] pipeline - A plugin had an unrecoverable error. Will restart this plugin.  
Pipeline\_id:main  
Plugin: \<LogStash::Inputs::DeadLetterQueue path=\>"/var/log/logstash/deadletter", commit\_offsets=\>true, pipeline\_id=\>" **REPEATS FOR EACH PIPELINE AFTER THE PIPELINE IS STARTED**", id=\>"b61022b1176319bb33e21c28df3dd9c244dc5c3157452e6d943c977559bfc862", enable\_metric=\>true, codec=\>\<LogStash::Codecs::Plain id=\>"plain\_df99ca06-9be8-463d-9013-78f87e16ada8", enable\_metric=\>true, charset=\>"UTF-8"\>\>  
Error: Invalid file. check version  
Exception: Java::JavaLang::RuntimeException  
Stack: org.logstash.common.io.RecordIOReader.(org/logstash/common/io/RecordIOReader.java:59)  
org.logstash.common.io.DeadLetterQueueReader.pollEntryBytes(org/logstash/common/io/DeadLetterQueueReader.java:126)  
org.logstash.common.io.DeadLetterQueueReader.pollEntry(org/logstash/common/io/DeadLetterQueueReader.java:97)  
org.logstash.input.DeadLetterQueueInputPlugin.run(org/logstash/input/DeadLetterQueueInputPlugin.java:82)  
java.lang.reflect.Method.invoke(java/lang/reflect/Method.java:498)  
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(org/jruby/javasupport/JavaMethod.java:423)  
org.jruby.javasupport.JavaMethod.invokeDirect(org/jruby/javasupport/JavaMethod.java:290)  
RUBY.run(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-dead\_letter\_queue-1.1.4/lib/logstash/inputs/dead\_letter\_queue.rb:60)  
usr.share.logstash.logstash\_minus\_core.lib.logstash.pipeline.invokeOther8:run(usr/share/logstash/logstash\_minus\_core/lib/logstash//usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:514)  
usr.share.logstash.logstash\_minus\_core.lib.logstash.pipeline.inputworker(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:514)  
usr.share.logstash.logstash\_minus\_core.lib.logstash.pipeline.invokeOther0:inputworker(usr/share/logstash/logstash\_minus\_core/lib/logstash//usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:507)  
usr.share.logstash.logstash\_minus\_core.lib.logstash.pipeline.block in start\_input(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:507)  
org.jruby.RubyProc.call(org/jruby/RubyProc.java:289)  
org.jruby.RubyProc.call(org/jruby/RubyProc.java:246)  
java.lang.Thread.run(java/lang/Thread.java:748)

- Pipeline processes dead letter log files (created by first start only)

Reference thread for getting dead-letter error data [https://discuss.elastic.co/t/have-you-found-a-sollution-to-the-issue-with-de-dlq-obtain-reason/161076](https://discuss.elastic.co/t/have-you-found-a-sollution-to-the-issue-with-de-dlq-obtain-reason/161076)

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [February 1, 2019, 12:55am UTC](https://discuss.elastic.co/t/dead-lettter-queue-plugin-error-and-data-processing-behavior/162879/2 "2019-02-01T00:55:22Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
