# Pipeline.orderedがデフォルトの場合にエラーが発生

**URL:** <https://discuss.elastic.co/t/pipeline-ordered/240480>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [July 9, 2020, 7:53am UTC](https://discuss.elastic.co/t/pipeline-ordered/240480 "2020-07-09T07:53:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![t-nakata](https://avatars.discourse-cdn.com/v4/letter/t/8491ac/32.png) [@t-nakata](https://discuss.elastic.co/u/t-nakata)\
**Post date:** [July 9, 2020, 7:53am UTC](https://discuss.elastic.co/t/pipeline-ordered/240480/1 "2020-07-09T07:53:07Z")

</div>

logstash.ymlのpipeline.orderedがデフォルトの場合に以下のエラーが発生します。pipeline.orderedを「false」にすると発生しないようです。このエラーが発生する原因をご教示頂けないでしょうか

`Pipeline aborted due to error {:pipeline_id=>"correlation_incident", :exception=>#<Errno::ENOENT: No such file or directory - /tmp/logstash/26e01ccf-8201-441c-9dbd-81896fe1d714>, :backtrace=>["org/jruby/RubyFile.java:983:in `lstat'", "uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/fileutils.rb:673:in `remove_entry_secure'", "uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/fileutils.rb:611:in `block in rm\_r'", "org/jruby/RubyArray.java:1809:in `each'", "uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/fileutils.rb:609:in `rm\_r'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-s3-4.3.1/lib/logstash/outputs/s3/temporary\_file.rb:54:in `delete!'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-s3-4.3.1/lib/logstash/outputs/s3.rb:380:in `clean\_temporary\_file'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-s3-4.3.1/lib/logstash/outputs/s3.rb:397:in `block in restore_from_crash'", "org/jruby/RubyArray.java:1809:in `each'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-s3-4.3.1/lib/logstash/outputs/s3.rb:389:in `restore_from_crash'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-s3-4.3.1/lib/logstash/outputs/s3.rb:231:in `register'", "org/logstash/config/ir/compiler/OutputStrategyExt.java:126:in `register'", "org/logstash/config/ir/compiler/AbstractOutputDelegatorExt.java:68:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java\_pipeline.rb:216:in `block in register_plugins'", "org/jruby/RubyArray.java:1809:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java\_pipeline.rb:215:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:519:in `maybe\_setup\_out\_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java\_pipeline.rb:228:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:170:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java\_pipeline.rb:125:in `block in start'"], "pipeline.sources"=>["/etc/logstash/conf.d/ddi_correlation_incident.conf"], :thread=>"#<Thread:0xb0449c5@/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:121 run>"}`

`[ERROR][logstash.agent] Failed to execute action {:id=>:XXX, :action_type=>LogStash::ConvergeResult::FailedAction, :message=>"Could not execute action: PipelineAction::Create<XXX>, action_result: false", :backtrace=>nil}`

ただ、pipeline.orderedを「false」にすると以下のエラーが発生することがあります。合わせて原因をご教示頂けないでしょうか

`java.lang.IllegalStateException: Logstash stopped processing because of an error: (SystemExit) exit`

---

<div class="post-metadata">

**Author:** ![Koji\_Kawamura](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/koji_kawamura/32/93938_2.png) [@Koji\_Kawamura](https://discuss.elastic.co/u/Koji_Kawamura)\
**Post date:** [July 15, 2020, 8:17am UTC](https://discuss.elastic.co/t/pipeline-ordered/240480/2 "2020-07-15T08:17:49Z")

</div>

@t-nakata さん、

ログに記載の以下が根本的な原因のようです。

> [@t-nakata](#):
>
> No such file or directory - /tmp/logstash/26e01ccf-8201-441c-9dbd-81896fe1d714

こちらに[同様のエラー報告](https://github.com/logstash-plugins/logstash-input-s3/issues/32)がありました。  
/tmpの所有者がrootで、logstash実行ユーザで作業ディレクトリが作成できない場合発生するようです。手動で/tmp/logstashを作って所有者をlogstashにするか、s3 outputの設定で`temporary_directory`にて任意の作業ディレクトリを指定してみてください。

---

<div class="post-metadata">

**Author:** ![t-nakata](https://avatars.discourse-cdn.com/v4/letter/t/8491ac/32.png) [@t-nakata](https://discuss.elastic.co/u/t-nakata)\
**Post date:** [July 20, 2020, 2:37am UTC](https://discuss.elastic.co/t/pipeline-ordered/240480/3 "2020-07-20T02:37:53Z")

</div>

ご回答ありがとうございます。頂いた解決策について試してみましたが、事象が改善しませんでした。  
以下、実施したオペレーションを記載します。

1.temporary\_directory =\> "/logstash/tmp"を指定  
2.logstashを停止  
3.inputとなるログファイルにデータ追記  
4.logstash起動  
5.logstash再起動

■4の結果：  
・エラー発生せず  
・データ登録も正常に行われている  
・以下のディレクトリが作成され、ディレクトリ内に空ファイルあり  
/logstash/tmp/6f18ec7e-8736-481c-8587-7e3b5d82cafc

# ls -l

total 0  
-rw-r--r-- 1 logstash logstash 0 Jul 17 13:32 ls.s3.6b646668-6d52-4d42-9275-0899a3a60b60.2020-07-17T13.32.part1.txt

■5の結果  
・以下のエラーが発生  
Pipeline aborted due to error {:pipeline\_id=\>"XXXXX", :exception=\>#\<Errno::ENOENT: No such file or directory - /logstash/tmp/6f18ec7e-8736-481c-8587-7e3b5d82cafc\>  
・/logstash/tmp配下のディレクトリが削除されている

上記4の段階でlogstashがS3にデータ転送する際に作成した一時ディレクトリを記憶しており、5の起動時に前回作成した作業ディレクトリを参照しにいったけど、ディレクトリが既に削除されているため、参照できずエラーになっているように見えます。一時ディレクトリはlogstashを停止した際には削除されておらず、起動後には削除されていたので、logstashが起動時に一時ディレクトリを削除しているように見えます。  
なので、起動時に自分で削除したディレクトリを参照してエラーになっているように見えてます。

---

<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:** [August 17, 2020, 2:37am UTC](https://discuss.elastic.co/t/pipeline-ordered/240480/4 "2020-08-17T02:37:53Z")

</div>

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