1

Tomcat 6 クラスター (2 ノード) で定期的に問題が発生します。ノードの 1 つが混乱し、次の内容を繰り返す大量のログが生成されます。

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)

それが示す唯一のものです。この時点では、クラスター内の他のノードはまだアクティブです。再起動するしかありません。大量のログにより、ディスク容量の問題が数回以上発生しています。

ここで何が問題なのか誰にもわかりませんか?

ありがとう!ウォン

4

1 に答える 1

0

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 開発者に連絡することをお勧めします。

于 2009-08-25T06:41:10.500 に答える