allegro / embedded-elasticsearch

Tool that ease up creation of integration tests with Elasticsearch
Apache License 2.0
269 stars 81 forks source link

Possible issue with ES 6.3.0 #58

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hi, is there a breaking change to start the latest ES 6.3.0 version? With 6.2.4, i can start the EmbeddedElastic without any problems. If i change the ES Version to 6.3.0 and start the embeddedElastic, a timeout occured.

Cause: pl.allegro.tech.embeddedelasticsearch.EmbeddedElasticsearchStartupException: Failed to start elasticsearch within time-out at pl.allegro.tech.embeddedelasticsearch.ElasticServer.waitForElasticToStart(ElasticServer.java:121) at pl.allegro.tech.embeddedelasticsearch.ElasticServer.start(ElasticServer.java:48) at pl.allegro.tech.embeddedelasticsearch.EmbeddedElastic.startElastic(EmbeddedElastic.java:73) at pl.allegro.tech.embeddedelasticsearch.EmbeddedElastic.start(EmbeddedElastic.java:55) at utils.ElasticSearchTestClient$class.$init$(ElasticSearchTestClient.scala:63) at de.kaufhof.ets.elasticsearchrestconnector.core.integration.ElasticSearchIndexOperationsTest.<init>(ElasticSearchIndexOperationsTest.scala:7) 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)

A changeback to 6.2.4 starts the embeddedElastic. I use your latest 2.5.1 version.

ghost commented 6 years ago

Ok, i've checked out the current branch and change in /es60-test/build.gradle the versions to check e.g.

 testCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '6.0.1'
 testCompile group: 'org.elasticsearch.client', name: 'transport', version: '6.0.1'

to

 testCompile group: 'org.elasticsearch', name: 'elasticsearch', version: '6.3.0'
 testCompile group: 'org.elasticsearch.client', name: 'transport', version: '6.3.0'

Than, the test crashes with

:es60-test:compileTestGroovy
startup failed:
General error during semantic analysis: Type org.locationtech.spatial4j.shape.Shape not present

java.lang.TypeNotPresentException: Type org.locationtech.spatial4j.shape.Shape not present
        at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)

in /es60-test/build.gradle, i add the following line testCompile group: 'org.locationtech.spatial4j', name: 'spatial4j', version: '0.6' And it works like a charm now...

gaczm commented 6 years ago

Hi, If you are using linux/mac, this may be a duplicate of #56. As for spatial4j: Embedded-elasticsearch does not have dependency to Elasticsearch at all :) Problem you have notice is a result of using old transport client in tests. If you switch to rest client (or add dependency to just test module) it will work.

gaczm commented 6 years ago

Sorry, I mislead you: same situation is with rest client. So you need spatial4j whatever client you use, but you don't need it for simply starting elasticsearch using embedded-elasticsearch

gaczm commented 6 years ago

Problem with 6.3.0 resolved in #56