Unsupported http.type [netty3] when trying to start embedded elasticsearch node Unsupported http.type [netty3] when trying to start embedded elasticsearch node elasticsearch elasticsearch

Unsupported http.type [netty3] when trying to start embedded elasticsearch node


As mentioned by @Bastian the issue was that transport module not being in the classpath. The solution was already there in es-hadoop embedded es implementation.

private static class PluginConfigurableNode extends Node {        public PluginConfigurableNode(Settings settings, Collection<Class<? extends Plugin>> classpathPlugins) {            super(InternalSettingsPreparer.prepareEnvironment(settings, null), classpathPlugins);        }}

We can give netty3 as a plugin as follows. Then everything works well.

Collection<Class<? extends Plugin>> plugins = Arrays.asList(Netty3Plugin.class);Node node = new PluginConfigurableNode(elasticsearchSetting, plugins).start();


You need to add the module transport-netty4 to your classpath:

 <dependency>        <groupId>org.elasticsearch.plugin</groupId>        <artifactId>transport-netty4-client</artifactId>        <version>5.1.1</version>        <scope>test</scope> </dependency>

See also my answer here