Dear experts
We use Zookeeper as the registry server.
When consuming our Dubbo APIs, we use the ReferenceConfig<>.get() method to get
the API reference.
At the end of our execution, we destroy this connection by
ReferenceConfig<>.destroy().
We noticed that even Dubbo consumer appears to shutdown gracefully, the
Zookeeper connection still shows some interruption exception:
11:00:09,480 - ERROR - SimplePusher.main()-EventThread -
org.apache.zookeeper.ClientCnxn - Event thread exiting due to interruption
java.lang.InterruptedException
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:502)
11:00:09,485 - INFO - SimplePusher.main()-EventThread -
org.apache.zookeeper.ClientCnxn - EventThread shut down for session:
0x10029541bd10115
11:00:19,474 - WARN - SimplePusher.main(vexacyb01dsy.dsone.3ds.com:2181) -
org.apache.zookeeper.ClientCnxn - Session 0x10029541bd10115 for server
vexacyb01dsy.dsone.3ds.com/10.81.149.187:2181, unexpected error, closing socket
connection and attempting reconnect
java.nio.channels.ClosedByInterruptException
at
java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:478)
at
org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:117)
at
org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366)
at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1144)
Besides, some WARNs from Dubbo threads:
[WARNING] thread
Thread[DubboClientHandler-10.81.149.187:20881-thread-1,5,SimplePusher] will
linger despite being asked to die via interruption
[WARNING] thread Thread[dubbo-client-idleCheck-thread-1,5,SimplePusher] will
linger despite being asked to die via interruption
[WARNING] thread Thread[DubboMetadataReportTimer-thread-1,5,SimplePusher] will
linger despite being asked to die via interruption
[WARNING] thread Thread[DubboSaveMetadataReport-thread-1,5,SimplePusher] will
linger despite being asked to die via interruption
[WARNING] thread Thread[dubbo-future-timeout-thread-1,5,SimplePusher] will
linger despite being asked to die via interruption
[WARNING] NOTE: 14 thread(s) did not finish despite being asked to via
interruption. This is not a problem with exec:java, it is a problem with the
running code. Although not serious, it should be remedied.
At the end, it still finishes the execution and returns the exit code of 0. But
we just wanted to ask if this exception is harmless and can be ignored?
Best regards
Tien Dat PHAN