elasticsearch-client icon indicating copy to clipboard operation
elasticsearch-client copied to clipboard

Got exception "Invalid receiver type interface org.apache.http.Header ...."

Open Nossiac opened this issue 4 years ago • 1 comments

Since vertx.io does not provide any official elasticsearch wrapper, then I come to this lib. I'm currently testing 0.9.0-ec7.10.1 with vertx-4.1.1, JDK 1.8.

Here's my testing,

   void TestEs(Vertx vertx, VertxTestContext testContext) {
        RestClientBuilder builder = RestClient.builder(new HttpHost("xxxxxx",));
        RestHighLevelClient client = RestHighLevelClient.create(vertx, builder);

        GetAsyncSearchRequest var1 = new GetAsyncSearchRequest("event");
        RequestOptions var2 = RequestOptions.DEFAULT;
        client.asyncSearch().getAsync(var1, var2,  res -> {
            if (res.failed()) {
                testContext.failNow(res.cause());
            } else {
                System.out.println(res);
                testContext.completeNow();
            }
        });
    }

It gave me exceptions as below:

org.apache.http.nio.reactor.IOReactorException: I/O dispatch worker terminated abnormally
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:359)
	at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221)
	at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)
	at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.BootstrapMethodError: bootstrap method initialization exception
	at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:194)
	at java.base/java.lang.invoke.CallSite.makeSite(CallSite.java:307)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSiteImpl(MethodHandleNatives.java:258)
	at java.base/java.lang.invoke.MethodHandleNatives.linkCallSite(MethodHandleNatives.java:248)
	at org.elasticsearch.client.RestClient.convertResponse(RestClient.java:312)
	at org.elasticsearch.client.RestClient.access$1800(RestClient.java:105)
	at org.elasticsearch.client.RestClient$1.completed(RestClient.java:374)
	at org.elasticsearch.client.RestClient$1.completed(RestClient.java:370)
	at org.apache.http.concurrent.BasicFuture.completed(BasicFuture.java:119)
	at org.apache.http.impl.nio.client.DefaultClientExchangeHandlerImpl.responseCompleted(DefaultClientExchangeHandlerImpl.java:181)
	at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.processResponse(HttpAsyncRequestExecutor.java:448)
	at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.inputReady(HttpAsyncRequestExecutor.java:338)
	at org.apache.http.impl.nio.DefaultNHttpClientConnection.consumeInput(DefaultNHttpClientConnection.java:265)
	at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:81)
	at org.apache.http.impl.nio.client.InternalIODispatch.onInputReady(InternalIODispatch.java:39)
	at org.apache.http.impl.nio.reactor.AbstractIODispatch.inputReady(AbstractIODispatch.java:114)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.readable(BaseIOReactor.java:162)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvent(AbstractIOReactor.java:337)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.processEvents(AbstractIOReactor.java:315)
	at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:276)
	at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)
	at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)
	... 1 more
Caused by: java.lang.invoke.LambdaConversionException: Invalid receiver type interface org.apache.http.Header; not a subtype of implementation type interface org.apache.http.NameValuePair
	at java.base/java.lang.invoke.AbstractValidatingLambdaMetafactory.validateMetafactoryArgs(AbstractValidatingLambdaMetafactory.java:254)
	at java.base/java.lang.invoke.LambdaMetafactory.metafactory(LambdaMetafactory.java:328)
	at java.base/java.lang.invoke.BootstrapMethodInvoker.invoke(BootstrapMethodInvoker.java:127)
	... 22 more

Similar error was found at stackoverflow-33929304 and stackoverflow-33925551.

Did I make any mistake? Or it's indeed a compiler bug? any workaround solution?

Nossiac avatar Jul 12 '21 09:07 Nossiac

@Nossiac Did you find any solution to this issue. I'm getting the same error with opensearch client version 1.2.4

mshah-sc avatar Jun 14 '24 00:06 mshah-sc