[
https://issues.apache.org/jira/browse/JCS-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18063397#comment-18063397
]
Florin POP commented on JCS-244:
--------------------------------
I have clear steps for reproduction now also outside WebLogic context.
Have a distributed cache on 2 nodes for example. Configure in the cache.ccf
files that the listener port is 7800 for both nodes.
Start the 2 JVMs and in the beginning both are communicating, the
*JCS-LateralTCPListener* can be seen up on both nodes.
In order to break one of the nodes and make the listener disappear, I did a
telnet host2 7800 and just closed the session without sending anything.
At this moment I can se on the JVM from node 2 the exception:
java.nio.BufferUnderflowException
at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:721)
at java.base/java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:498)
at
org.apache.commons.jcs3.engine.behavior.IElementSerializer.deSerializeFrom(IElementSerializer.java:210)
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.handleClient(LateralTCPListener.java:679)
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.runListener(LateralTCPListener.java:565)
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.lambda$init$2(LateralTCPListener.java:215)
at java.base/java.lang.Thread.run(Thread.java:1583)
and the *JCS-LateralTCPListener* thread is no longer alive, thus the caches can
no longer communicate.
> JCS-LateralTCPListener dies and not automatically recovers
> ----------------------------------------------------------
>
> Key: JCS-244
> URL: https://issues.apache.org/jira/browse/JCS-244
> Project: Commons JCS
> Issue Type: Bug
> Components: TCP Lateral Cache
> Affects Versions: jcs-3.2.1
> Reporter: Florin POP
> Priority: Major
>
> We are using LateralTCPListener in Weblogic context in OIG14c, at one point
> the listener thread is dying and from that point on the other nodes in the
> cluster are no longer able to communicate with this node. One by one all
> nodes in the cluster happen this.
>
> Below is the snippet from the incident logged by WebLogic:{*}{*}{*}{*}
> *Description*
> *-----------*
> *Thread 361(JCS-LateralTCPListener-aps-oim4-prod.eu.novartis.net:7800) exited
> due to an uncaught Exception: java.nio.BufferUnderflowException.*
> Stack Trace
> -----------
> java.nio.BufferUnderflowException
> at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:721)
> at java.base/java.nio.HeapByteBuffer.getInt(HeapByteBuffer.java:498)
> at
> org.apache.commons.jcs3.engine.behavior.IElementSerializer.deSerializeFrom(IElementSerializer.java:210)
> at
> org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.handleClient(LateralTCPListener.java:679)
> at
> org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.runListener(LateralTCPListener.java:565)
> at
> org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPListener.lambda$init$2(LateralTCPListener.java:215)
> at java.base/java.lang.Thread.run(Thread.java:1583)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)