What's the "qa" plugin?

When running the following command, we can see the list of all plugins that can be installed by name:

bin/elasticsearch-plugin install --help

In the list, we can see a plugin named qa. Trying to install it, yields the following output:

$ bin/elasticsearch-plugin install qa

-> Downloading qa from elastic

Exception in thread "main" java.io.FileNotFoundException: https://artifacts.elastic.co/downloads/elasticsearch-plugins/qa/qa-6.5.0.zip

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1944)

at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1939)

at java.security.AccessController.doPrivileged(Native Method)

at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1938)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)

at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)

at org.elasticsearch.plugins.InstallPluginCommand.downloadZip(InstallPluginCommand.java:380)

at org.elasticsearch.plugins.InstallPluginCommand.downloadAndValidate(InstallPluginCommand.java:453)

at org.elasticsearch.plugins.InstallPluginCommand.download(InstallPluginCommand.java:256)

at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:229)

at org.elasticsearch.plugins.InstallPluginCommand.execute(InstallPluginCommand.java:216)

at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86)

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)

at org.elasticsearch.cli.MultiCommand.execute(MultiCommand.java:77)

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124)

at org.elasticsearch.cli.Command.main(Command.java:90)

at org.elasticsearch.plugins.PluginCli.main(PluginCli.java:47)

Caused by: java.io.FileNotFoundException: https://artifacts.elastic.co/downloads/elasticsearch-plugins/qa/qa-6.5.0.zip

at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1890)

at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)

at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(HttpURLConnection.java:3000)

at java.net.URLConnection.getHeaderFieldLong(URLConnection.java:629)

at java.net.URLConnection.getContentLengthLong(URLConnection.java:501)

at java.net.URLConnection.getContentLength(URLConnection.java:485)

at sun.net.www.protocol.https.HttpsURLConnectionImpl.getContentLength(HttpsURLConnectionImpl.java:407)

at org.elasticsearch.plugins.InstallPluginCommand.downloadZip(InstallPluginCommand.java:379)

... 10 more

I've tried this on 6.4.2. and 6.5.0 with the same result. I'm not really sure what the qa plugin does, why it's showing in the list, and since it does, why it can't be installed.

This sounds like a bug. qa is where some of our test suites live, and not a plugin. I opened https://github.com/elastic/elasticsearch/issues/35623.

1 Like

Thanks David, I posted here before opening an issue, but glad if you did it :wink:

1 Like

I've merged a PR that'll remove the stray plugins from the list. I suspect it'll go out with 6.6 and they strays will remain in the 6.5 line. Thanks for bringing this up @val and thanks for filing it @DavidTurner!

1 Like

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