Details
-
Bug
-
Resolution: Done
-
Critical
-
9.0.0.CR2
-
None
Description
HR 2.6 decoder misreads add client listener command, expecting more input form client, which results in hanged HR client, waiting for response from server:
java.lang.Thread.State: RUNNABLE at sun.nio.ch.Net.poll(Native Method) at sun.nio.ch.SocketChannelImpl.poll(SocketChannelImpl.java:954) - locked <0x00000000d6ea7db0> (a java.lang.Object) at sun.nio.ch.SocketAdaptor$SocketInputStream.read(SocketAdaptor.java:204) - locked <0x00000000d6ea7da0> (a java.lang.Object) at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:103) - locked <0x00000000d6ea80d0> (a sun.nio.ch.SocketAdaptor$SocketInputStream) at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) at java.io.BufferedInputStream.read(BufferedInputStream.java:265) - locked <0x00000000d6ea7f30> (a java.io.BufferedInputStream) at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.readByte(TcpTransport.java:220) at org.infinispan.client.hotrod.impl.protocol.Codec20.readMagic(Codec20.java:325) at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeaderOrEvent(Codec20.java:225) at org.infinispan.client.hotrod.impl.operations.AddClientListenerOperation.executeOperation(AddClientListenerOperation.java:97) at org.infinispan.client.hotrod.impl.operations.AddClientListenerOperation.executeOperation(AddClientListenerOperation.java:27) at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:56) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.addClientListener(RemoteCacheImpl.java:439)
Can be easily reproduced with many tests from HR client testsuite (e.g. ClusterInvalidatedNearCacheTest) - tests just hangs