Andrea Vettori created JCS-231:
----------------------------------
Summary: Lateral TCP cache goes in loop and consumes all available
resources
Key: JCS-231
URL: https://issues.apache.org/jira/browse/JCS-231
Project: Commons JCS
Issue Type: Bug
Affects Versions: jcs-3.1
Environment: Linux, Tomcat 9, Adoption JDK 11
Reporter: Andrea Vettori
Hello, we upgraded from 3.0 to 3.1 and have to go back for the following
problem.
With this LTCP configuration
{{jcs.auxiliary.LTCP=org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory}}
{{jcs.auxiliary.LTCP.attributes=org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes}}
{{jcs.auxiliary.LTCP.attributes.TcpListenerPort=1120}}
{{jcs.auxiliary.LTCP.attributes.UdpDiscoveryAddr=228.5.6.8}}
{{jcs.auxiliary.LTCP.attributes.UdpDiscoveryPort=6782}}
{{jcs.auxiliary.LTCP.attributes.UdpDiscoveryEnabled=true}}
{{jcs.auxiliary.LTCP.attributes.Receive=true}}
{{jcs.auxiliary.LTCP.attributes.AllowGet=false}}
{{jcs.auxiliary.LTCP.attributes.IssueRemoveOnPut=false}}
Most of the time JCS starts with the following logs
{{{}16-Apr-2022 14:31:04.523 INFO [main]
org.apache.commons.jcs3.auxiliary.AuxiliaryCacheConfigurator. Using standard
serializer
[org.apache.commons.jcs3.utils.serialization.StandardSerializer@22aa6570] for
auxiliary [jcs.auxiliary.LTCP]{}}}{{{}16-Apr-2022 14:31:04.524 INFO [main]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Instance for [] is null, creating{}}}{{{}16-Apr-2022 14:31:04.524 INFO [main]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Creating TCP service, lca = :1120{}}}{{{}16-Apr-2022 14:31:04.531 SEVERE [main]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPService. Could
not create sender to [] -- Invalid address []{}}}{{{}16-Apr-2022 14:31:04.531
SEVERE [main]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Failure, lateral instance will use zombie service{}}}{{
java.io.IOException: Invalid address []}}{{ at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPSender.<init>(LateralTCPSender.java:104)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPService.<init>(LateralTCPService.java:96)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.lambda$getCSNLInstance$0(LateralTCPCacheFactory.java:271)}}{{
at
java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.getCSNLInstance(LateralTCPCacheFactory.java:251)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.createCacheNoWait(LateralTCPCacheFactory.java:143)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.createCache(LateralTCPCacheFactory.java:110)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.createCache(LateralTCPCacheFactory.java:56)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheConfigurator.parseAuxiliary(CompositeCacheConfigurator.java:450)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:234)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheConfigurator.parseRegion(CompositeCacheConfigurator.java:157)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheConfigurator.parseRegions(CompositeCacheConfigurator.java:135)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.doConfigure(CompositeCacheManager.java:455)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:406)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:365)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:347)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.configure(CompositeCacheManager.java:336)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.getInstance(CompositeCacheManager.java:188)}}{{
at
org.apache.commons.jcs3.engine.control.CompositeCacheManager.getInstance(CompositeCacheManager.java:163)}}{{
at
org.apache.commons.jcs3.JCS.getCacheManager(JCS.java:126)}}{{ at
org.apache.commons.jcs3.JCS.getInstance(JCS.java:144)}}
{{{}and then goes into a loop that after some time consumes all system
resources{}}}{{{}{}}}
{{{}16-Apr-2022 14:31:24.544 INFO [JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.LateralCacheMonitor. Found
LateralCacheNoWait in error, data{}}}{{{}16-Apr-2022 14:31:24.544 INFO
[JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Disposing of zombie service instance for []{}}}{{{}16-Apr-2022 14:31:24.545
INFO [JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Instance for [] is null, creating{}}}{{{}16-Apr-2022 14:31:24.545 INFO
[JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Creating TCP service, lca = :1120{}}}{{{}16-Apr-2022 14:31:24.545 SEVERE
[JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPService. Could
not create sender to [] -- Invalid address []{}}}{{{}16-Apr-2022 14:31:24.545
SEVERE [JCS-LateralCacheMonitor]
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.
Failure, lateral instance will use zombie service{}}}{{
java.io.IOException: Invalid address []}}{{ at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPSender.<init>(LateralTCPSender.java:104)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPService.<init>(LateralTCPService.java:96)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.lambda$getCSNLInstance$0(LateralTCPCacheFactory.java:271)}}{{
at
java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1932)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory.getCSNLInstance(LateralTCPCacheFactory.java:251)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.LateralCacheMonitor.lambda$doWork$0(LateralCacheMonitor.java:124)}}{{
at
java.base/java.util.concurrent.ConcurrentHashMap.forEach(ConcurrentHashMap.java:1603)}}{{
at
org.apache.commons.jcs3.auxiliary.lateral.LateralCacheMonitor.doWork(LateralCacheMonitor.java:113)}}{{
at
org.apache.commons.jcs3.auxiliary.AbstractAuxiliaryCacheMonitor.run(AbstractAuxiliaryCacheMonitor.java:180)}}
{{Even when JCS starts starts with no exception, after some time the second
exception above begins to appear on the logs and takes the server down.}}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)