Hoping this is the right place to report this. I'm basically requesting on the offending line below to cast to CommandMap (the interface) rather than the concrete class MailcapCommandMap as our app uses a custom ComandMap.
Kibana version: 5.5.0
Elasticsearch version: 5.5.0
Server OS version: Linux 4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Browser version: Chrome
Browser OS version: Linux
Description of the problem including expected versus actual behavior:
When ES cluster was in a bad state (single master in test cluster was in heavy GC loop) the transport client could not initialise XPackPlugin due to an incorrect cast in the X-PACK code. We have registered a custom CommandMap called UnmodifiableMailcapCommandMap as can be seen in the logs below.
Steps to reproduce:
Get cluster into bad state.
Install a custom CommandMap into the JVM.
Try to connect with transport client and X-PACK.
Errors in browser console (if relevant):
Provide logs and/or server output (if relevant):
java.lang.ExceptionInInitializerError: null
at org.elasticsearch.xpack.XPackPlugin.(XPackPlugin.java:183) ~[x-pack-api-5.5.0.jar:5.5.0]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_92]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:1.8.0_92]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_92]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[?:1.8.0_92]
at org.elasticsearch.plugins.PluginsService.loadPlugin(PluginsService.java:423) ~[elasticsearch-5.5.0.jar:5.5.0]
at org.elasticsearch.plugins.PluginsService.(PluginsService.java:103) ~[elasticsearch-5.5.0.jar:5.5.0]
at org.elasticsearch.client.transport.TransportClient.newPluginService(TransportClient.java:101) ~[elasticsearch-5.5.0.jar:5.5.0]
at org.elasticsearch.client.transport.TransportClient.buildTemplate(TransportClient.java:126) ~[elasticsearch-5.5.0.jar:5.5.0]
at org.elasticsearch.client.transport.TransportClient.(TransportClient.java:265) ~[elasticsearch-5.5.0.jar:5.5.0]
at org.elasticsearch.transport.client.PreBuiltTransportClient.(PreBuiltTransportClient.java:130) ~[transport-5.5.0.jar:5.5.0]
at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:55) ~[x-pack-transport-5.5.0.jar:5.5.0]
at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:50) ~[x-pack-transport-5.5.0.jar:5.5.0]
at org.elasticsearch.xpack.client.PreBuiltXPackTransportClient.(PreBuiltXPackTransportClient.java:46) ~[x-pack-transport-5.5.0.jar:5.5.0]
...
Caused by: java.lang.ClassCastException: com.xxxx.xxxx.UnmodifiableMailcapCommandMap cannot be cast to javax.activation.MailcapCommandMap
at org.elasticsearch.xpack.notification.email.Account$1.run(Account.java:55) ~[x-pack-api-5.5.0.jar:5.5.0]
at org.elasticsearch.xpack.notification.email.Account$1.run(Account.java:51) ~[x-pack-api-5.5.0.jar:5.5.0]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_92]
at org.elasticsearch.xpack.notification.email.Account.(Account.java:51) ~[x-pack-api-5.5.0.jar:5.5.0]
... 35 more