# How to properly shutdown an input plugin

**URL:** <https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809>\
**Category:** Logstash\
**Created:** [January 25, 2017, 8:19pm UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809 "2017-01-25T20:19:49Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![djannot](https://avatars.discourse-cdn.com/v4/letter/d/4da419/32.png) [@djannot](https://discuss.elastic.co/u/djannot)\
**Post date:** [January 25, 2017, 8:19pm UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809/1 "2017-01-25T20:19:49Z")

</div>

I'm trying to modify an input plugin to stop under some conditions, but when I execute the stop function, it generates an exception.  
How can I shutdown properly ?

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [January 29, 2017, 6:48pm UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809/2 "2017-01-29T18:48:09Z")

</div>

What's the exception?

---

<div class="post-metadata">

**Author:** ![djannot](https://avatars.discourse-cdn.com/v4/letter/d/4da419/32.png) [@djannot](https://discuss.elastic.co/u/djannot)\
**Post date:** [January 30, 2017, 5:31pm UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809/3 "2017-01-30T17:31:32Z")

</div>

Hi Magnus,

Here is the exception when I call the stop function:  
[2017-01-30T17:27:09,796][WARN][logstash.agent] stopping  
pipeline {:id=\>"main"}  
[2017-01-30T17:27:09,808][FATAL][logstash.runner] An unexpected  
error occurred! {:error=\>#\<ThreadError: killed thread\>,  
:backtrace=\>["org/jruby/RubyThread.java:836:in `wakeup'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/stud-0.0.22/lib/stud/interval.rb:44:in`stop!'", "/opt/logstash/logstash-input-s3/lib/logstash/inputs/s3.rb:167:in  
`stop'", "/opt/logstash/logstash-core/lib/logstash/inputs/base.rb:89:in`do\_stop'", "org/jruby/RubyArray.java:1613:in `each'", "/opt/logstash/logstash-core/lib/logstash/pipeline.rb:408:in`shutdown'",  
"/opt/logstash/logstash-core/lib/logstash/agent.rb:317:in `stop_pipeline'", "/opt/logstash/logstash-core/lib/logstash/agent.rb:330:in`shutdown\_pipelines'", "org/jruby/RubyHash.java:1342:in `each'", "/opt/logstash/logstash-core/lib/logstash/agent.rb:330:in`shutdown\_pipelines'",  
"/opt/logstash/logstash-core/lib/logstash/agent.rb:138:in `shutdown'", "/opt/logstash/logstash-core/lib/logstash/runner.rb:274:in`execute'",  
"/opt/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:67:in  
`run'", "/opt/logstash/logstash-core/lib/logstash/runner.rb:178:in`run'",  
"/opt/logstash/vendor/bundle/jruby/1.9/gems/clamp-0.6.5/lib/clamp/command.rb:132:in  
`run'", "/opt/logstash/lib/bootstrap/environment.rb:71:in`(root)'"]}

Best regards

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [January 31, 2017, 6:41am UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809/4 "2017-01-31T06:41:06Z")

</div>

And if you post the logs as preformatted text so the exception message isn't mangled out of existence?

---

<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 28, 2017, 6:41am UTC](https://discuss.elastic.co/t/how-to-properly-shutdown-an-input-plugin/72809/5 "2017-02-28T06:41:09Z")

</div>

Closed on February 28, 2017, 6:41am UTC

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