Remove bin/plugin update command without arguments
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 19h 14m
- Merged PRs (30d)
- 63
Description
`bin/plugin update` when run on LS instance will update all the default plugins bundled to the latest versions published on RubyGems.org. While this may seem useful (to uptake latest bug fixes), plugin development and release is isolated w.r.t. LS core. Mass update of all default plugins has the potential to cause dependency issues. This is because LS release package pins the version numbers of dependency in Gem lock file and update does not seem to properly handle updates to dependency. See discussion here: https://discuss.elastic.co/t/logstash-2-1-fails-to-start-after-logstash-output-elasticsearch-update/38330/2 and https://github.com/logstash-plugins/logstash-output-elasticsearch/issues/335
which was caused by
https://github.com/logstash-plugins/logstash-output-elasticsearch/pull/334
I was able to reproduce this behavior with LS 2.1.1 and running `bin/plugin update`. It updated logstash-output-elasticsearch to 2.3.1 among other plugins.
When I manually update the single plugin:
```
bin/plugin update logstash-output-elasticsearch
```
it updates it to 2.3.0 which is a good version (without dependency conflict)
I am recommending we discourage and remove the use of `bin/plugin update` and only allow individual updates to plugins. Also, given the recent LS release cadence, users do not have to run an update to get the latest big fixes to plugins.
Thoughts?
Contributor guide
Assessment
This issue has not been assessed yet.