elasticsearch-grails-plugin
elasticsearch-grails-plugin copied to clipboard
Grails 4 application with enabled Elasticsearch-plugin fails with "Not a valid protocol version: This is not an HTTP port"
Task List
- [x] Steps to reproduce provided
- [x] Stacktrace (if present) provided
- [x] Example that reproduces the problem uploaded to Github
- [x] Full description of the issue provided (see below)
Steps to Reproduce
- Create a fresh grails 4 application with grails create-app four-oh-nine
- Add elasticsearchVersion stuff, compile dependency on the 3.0.0.M1 plugin and grails { pathingJar = true } in build.gradle
- Add elasticsearch configuration to application.yml as per documentation
Expected Behaviour
Application starts up using gradle bootRunn and shows elasticsearch as an installed plugin when going to http://localhost:8080
Actual Behaviour
Startup fails with a RuntimeException "error while performing request" an following stacktrace:
2021-03-30 11:18:57.378 ERROR --- [ restartedMain] o.s.boot.SpringApplication : Application run failed
java.lang.RuntimeException: error while performing request
at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:833)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:248)
at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235)
at org.elasticsearch.client.RestClient$performRequest$0.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at grails.plugins.elasticsearch.ElasticSearchAdminService$_waitForClusterStatus_closure19.doCall(ElasticSearchAdminService.groovy:431)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:37)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at grails.plugins.elasticsearch.ElasticSearchHelper.withElasticSearch(ElasticSearchHelper.groovy:12)
at grails.plugins.elasticsearch.ElasticSearchHelper$withElasticSearch.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
at grails.plugins.elasticsearch.ElasticSearchAdminService.waitForClusterStatus(ElasticSearchAdminService.groovy:427)
at grails.plugins.elasticsearch.mapping.SearchableClassMappingConfigurator.installMappings(SearchableClassMappingConfigurator.groovy:181)
at grails.plugins.elasticsearch.mapping.SearchableClassMappingConfigurator.configureAndInstallMappings(SearchableClassMappingConfigurator.groovy:56)
at grails.plugins.elasticsearch.mapping.SearchableClassMappingConfigurator$configureAndInstallMappings.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:119)
at grails.plugins.elasticsearch.ElasticsearchGrailsPlugin.doWithApplicationContext(ElasticsearchGrailsPlugin.groovy:153)
at org.grails.plugins.DefaultGrailsPlugin.doWithApplicationContext(DefaultGrailsPlugin.java:507)
at org.grails.plugins.AbstractGrailsPluginManager.doPostProcessing(AbstractGrailsPluginManager.java:223)
at grails.boot.config.GrailsApplicationPostProcessor.onApplicationEvent(GrailsApplicationPostProcessor.groovy:259)
at grails.boot.config.GrailsApplicationPostProcessor.onApplicationEvent(GrailsApplicationPostProcessor.groovy)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:403)
at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:360)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:897)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:162)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:553)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:744)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:391)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:312)
at grails.boot.GrailsApp.run(GrailsApp.groovy:99)
at grails.boot.GrailsApp.run(GrailsApp.groovy:485)
at grails.boot.GrailsApp.run(GrailsApp.groovy:472)
at four.oh.nine.Application.main(Application.groovy:11)
Caused by: org.apache.http.ProtocolException: Not a valid protocol version: This is not an HTTP port
Environment Information
- Operating System: Windows 10
- Grails Version (if using Grails): 4.0.9
- JDK Version: OpenJDK 1.8.0
Example Application
https://github.com/miq/grails-4-elasticsearch-startup-issue
use 9200 instead of 9300