Tomcat кластер дает сбой и генерирует тонны журналов - PullRequest
1 голос
/ 25 августа 2009

Периодически у меня возникают проблемы с моим кластером Tomcat 6 (2 узла). Один из узлов просто сломается и сгенерирует тонну логов, повторяя следующее:

Aug 25, 2009 11:44:10 AM org.apache.catalina.ha.session.DeltaRequest reset
SEVERE: Unable to remove element
java.util.NoSuchElementException
        at java.util.LinkedList.remove(LinkedList.java:788)
        at java.util.LinkedList.removeFirst(LinkedList.java:134)
        at org.apache.catalina.ha.session.DeltaRequest.reset(DeltaRequest.java:201)
        at org.apache.catalina.ha.session.DeltaRequest.execute(DeltaRequest.java:195)
        at org.apache.catalina.ha.session.DeltaManager.handleSESSION_DELTA(DeltaManager.java:1364)
        at org.apache.catalina.ha.session.DeltaManager.messageReceived(DeltaManager.java:1320)
        at org.apache.catalina.ha.session.DeltaManager.messageDataReceived(DeltaManager.java:1083)
        at org.apache.catalina.ha.session.ClusterSessionListener.messageReceived(ClusterSessionListener.java:87)
        at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:916)
        at org.apache.catalina.ha.tcp.SimpleTcpCluster.messageReceived(SimpleTcpCluster.java:897)
        at org.apache.catalina.tribes.group.GroupChannel.messageReceived(GroupChannel.java:264)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.interceptors.TcpFailureDetector.messageReceived(TcpFailureDetector.java:110)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelInterceptorBase.messageReceived(ChannelInterceptorBase.java:79)
        at org.apache.catalina.tribes.group.ChannelCoordinator.messageReceived(ChannelCoordinator.java:241)
        at org.apache.catalina.tribes.transport.ReceiverBase.messageDataReceived(ReceiverBase.java:225)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.drainChannel(NioReplicationTask.java:188)
        at org.apache.catalina.tribes.transport.nio.NioReplicationTask.run(NioReplicationTask.java:91)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)

Это единственное, что он показывает. Другой узел в кластере все еще активен в это время. Там нет ничего, кроме как перезагрузить. Большое количество журналов также вызывало проблемы с дисковым пространством более, чем пару раз.

Кто-нибудь знает, что здесь не так?

Спасибо! Wong

1 Ответ

0 голосов
/ 25 августа 2009

Кажется, что это ошибка в Tomcat 6. Если вы посмотрите на источник:

http://www.java2s.com/Open-Source/Java-Document/Sevlet-Container/apache-tomcat-6.0.14/org/apache/catalina/ha/session/DeltaRequest.java.htm (строка 225)

вы увидите, что метод reset () потенциально может вызвать это исключение. Я предлагаю вам связаться с разработчиками Tomcat по этой проблеме.

...