elasticsearch-grails-plugin icon indicating copy to clipboard operation
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"

Open miq opened this issue 3 years ago • 1 comments

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

  1. Create a fresh grails 4 application with grails create-app four-oh-nine
  2. Add elasticsearchVersion stuff, compile dependency on the 3.0.0.M1 plugin and grails { pathingJar = true } in build.gradle
  3. 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

miq avatar Mar 30 '21 09:03 miq

use 9200 instead of 9300

demon101 avatar Jun 28 '21 16:06 demon101