elastic / elastic/logstash

[meta] streamline and harmonize plugins with jars build and publish processes

Open
#7,627 1 comment 1 reaction 0 assignees View on GitHub
meta
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
1d 4h
Merged PRs (30d)
88

Description

This is somewhat a postmortem of the problems we had last Friday trying to fix and release a new dissect filter version. The bundled dissect 1.0.9 in LS 5.5.0 is missing its jar file. This is a list of issues we should look at to avoid similar problems.

In 5.5.0, there were reports of Java plugins (dissect and DLQ input) missing the relevant jar files. We need to audit our current Java plugins to see if more of them have the same issue:

- [x] logstash-filter-useragent
- [x] logstash-filter-geoip
- [x] logstash-filter-dissect
- [x] logstash-filter-date
- [x] logstash-input-dead_letter_queue
- [x] logstash-input-beats
- [x] logstash-input-tcp

- [ ] revew/decide on uniform jar handling in the plugin gem. The dissect problem was fixed by adding `vendor/jars/**/*` is the gemspec `files`, see PR https://github.com/logstash-plugins/logstash-filter-dissect/pull/32. Another strategy in other plugins is to [handle this in gradle](https://github.com/logstash-plugins/logstash-filter-dissect/compare/master...jakelandis:master).

- [ ] fix the build and release rake tasks to correctly propagate error conditions, see PR https://github.com/logstash-plugins/logstash-filter-dissect/pull/29

- [ ] review the *jarvis* publish command tasks sequence and error handling.

- [ ] add smoke test which just loads all bundled plugins to quickly identify any plugin with missing dependencies / initialization errors. Proposal in #7666

- [ ] review plugins repos permissions for *jarvis* "write" access for the publish task.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.