-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Description
Logstash information:
Please include the following information:
- Logstash version (main branch)
- Logstash installation source (e.g. built from source, with a package manager: DEB/RPM, expanded from tar or zip archive, docker) Source (GH checkout from main)
- How is Logstash being run (e.g. as a service/service manager: systemd, upstart, etc. Via command line, docker/kubernetes) (from source, build with gradle)
Plugins installed: (bin/logstash-plugin list --verbose)
Default
JVM (e.g. java -version):
21
Description of the problem including expected versus actual behavior:
When installing a plugin from a .gem file built from a .gemspec that DOES NOT explicitly include itself (the .gemspec) logstash will install the plugin correctly, but not be able to report it has been installed.
See #17696 (comment) for where this most recently came up and an attached possible patch to fix.
Steps to reproduce:
Download https://rubygems.org/downloads/logstash-filter-qatest-0.1.1.gem and install it. The installation will report as a success, but a logstash-plugin list will not show it as installed.
You can see that the gemspec does not include itself
| s.files = `git ls-files`.split($\) + ::Dir.glob('vendor/*') |
When we do include it (for example
logstash/qa/integration/fixtures/plugins/logstash-filter-two_depends_on_one.gemspec
Line 13 in 53e4531
| s.files = [__FILE__] |
While this is a very niche case, it is surprising. On the off chance someone runs in to it, It would be quite confusing to debug. If we can fix this or make it more obvious what is happening that would be an improvement.