[meta] A general implementation for handling exceptions at all levels in threads and plugins.
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 19h 14m
- Merged PRs (30d)
- 63
Description
Its time to discuss a general mechanism to be implemented going forward following the JRuby exception handling discussion https://github.com/elastic/logstash/issues/4064 and the PR from Joao https://github.com/elastic/logstash/pull/2386.
We have three levels of begin rescue.
1) In the main pipeline thread where it initiates the input/filter/output work.
2) In each child thread where it hands off control to the work method of the plugin (e.g. run)
3) In the work method of the plugin - but inconsistently done.
IMO there is no clear design on which kinds exceptions are rescued or raised in each stage and what expectations each stage can have on the level below it.
Contributor guide
Assessment
This issue has not been assessed yet.