[ 
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)

Reply via email to