eclipse-vertx / vert.x

Vert.x is a tool-kit for building reactive applications on the JVM
http://vertx.io
Other
14.32k stars 2.08k forks source link

Vertx call RPC, no Handler for address exception #2806

Closed dongyueceo closed 5 years ago

dongyueceo commented 5 years ago

Hi, I'm using vertx-service-discovery for rpc service. And use vertx-ignite for cluster. The vertx version is 3.5.4. I also got this exception: NO HANDLER (-1) for address , it appears sometime, not always.

the exception showed below: LOCAL_SYSTEM_TIME=[2019-01-23 18:14:56.257],THREAD=[vert.x-eventloop-thread-0],LOG_LEVEL=[INFO ],CLASS=[c.e.s.m.b.p.r.DynamicMessageProcessRPC.lambda$send$1:125],LOG_VERSION=[V1],LOG_FLAG=[BIZ],SYSTEM_TRACEID=[111],MODULE_NAME=[SPLITTER],SERVICE_NAME=[BUSINESS_SERVICE],CONTAINER ID=[iZuf68d2sa0635xqj2s1bqZ],TYPE=[FUNCTION],STATUS=[ING],DESCRIPTION=[DynamicMessageProcessRPC send(), success to get the consumer ],PARAMS=[{"location":{"endpoint":"_ComService_192.168.16.33"},"metadata":{"service.interface":"com.eigpay.splitter.infrastructure.communication.provider.chief.message.MessageProvider"},"name":"MessageProvider_ComService_192.168.16.33","status":UP,"registration":"e2519632-c7e7-4e05-acde-c6a4cbaae514","type":"eventbus-service-proxy"},MessageProvider_ComService_192.168.16.33] LOCAL_SYSTEM_TIME=[2019-01-23 18:14:56.329],THREAD=[vert.x-eventloop-thread-0],LOG_LEVEL=[INFO ],CLASS=[c.e.s.m.b.p.r.DynamicMessageProcessRPC$1.handle:150],LOG_VERSION=[V1],LOG_FLAG=[BIZ],SYSTEM_TRACEID=[111],MODULE_NAME=[SPLITTER],SERVICE_NAME=[BUSINESS_SERVICE],CONTAINER ID=[iZuf68d2sa0635xqj2s1bqZ],TYPE=[FUNCTION],STATUS=[ING],DESCRIPTION=[DynamicMessageProcessRPC send(), forward message fails, retrying],PARAMS=[{"value":1},(NO_HANDLERS,-1) No handlers for address _ComService_192.168.16.33 at io.vertx.core.eventbus.impl.HandlerRegistration.sendAsyncResultFailure(HandlerRegistration.java:127) at io.vertx.core.eventbus.impl.EventBusImpl.deliverMessageLocally(EventBusImpl.java:368) at io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.lambda$sendOrPub$4(ClusteredEventBus.java:245) at io.vertx.core.impl.FutureImpl.setHandler(FutureImpl.java:79) at io.vertx.core.impl.ContextImpl.lambda$null$0(ContextImpl.java:289) at io.vertx.core.impl.ContextImpl.lambda$wrapTask$2(ContextImpl.java:339) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463) at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:745) ] I registered in the eventbus address “_comservice_192.168.1.33” ,bond with the service name “messagepriovder_comservice_192.168.1.33” . when the com service node(192.168.1.33) started, the rpc service will be published. Then the biz service node will find the rpc service by service name rhen call the rpc interface. The com service node and biz service node are clustered by ignite with tcpvmfinder configurations. I succeed to get the rpc service consumer , but when calling the rpc interface, the error appears. I got very confused , and test some days , have not fixed this. Could anyone offer s

vietj commented 5 years ago

can you open this issue in the vertx-service-discovery repository please ?