[ https://issues.apache.org/jira/browse/CASSANDRA-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-3530: -------------------------------------- Affects Version/s: (was: 1.0.3) 0.8.0 Fix Version/s: 1.0.4 0.8.8 This affects 0.8 as well (and would have affected 0.7 if not for CASSANDRA-3472). > Header class not thread safe, but mutated by multiple threads > ------------------------------------------------------------- > > Key: CASSANDRA-3530 > URL: https://issues.apache.org/jira/browse/CASSANDRA-3530 > Project: Cassandra > Issue Type: Bug > Affects Versions: 0.8.0 > Reporter: Sean Bridges > Fix For: 0.8.8, 1.0.4 > > Attachments: 3530-v2.txt, CASSANDRA-3530.patch > > > With Cassandra 1.0.3 we are getting exceptions like, > Fatal exception in thread > Thread[WRITE-/xx.xx.xx.xx,5,main]java.util.ConcurrentModificationException > > at java.util.Hashtable$Enumerator.next(Unknown Source) > at org.apache.cassandra.net.Header.serializedSize(Header.java:97) > > at > org.apache.cassandra.net.OutboundTcpConnection.messageLength(OutboundTcpConnection.java:164) > at > org.apache.cassandra.net.OutboundTcpConnection.write(OutboundTcpConnection.java:154) > > at > org.apache.cassandra.net.OutboundTcpConnection.writeConnected(OutboundTcpConnection.java:115) > > at > org.apache.cassandra.net.OutboundTcpConnection.run(OutboundTcpConnection.java:94) > and, > ERROR [WRITE-/xx.xx.xx.xx] 2011-11-24 22:08:28,981 > AbstractCassandraDaemon.java (line 133) Fatal exception in thread > Thread[WRITE-/10.30.12.79,5,main]java.lang.NullPointerException > at org.apache.cassandra.net.Header.serializedSize(Header.java:101) > at > org.apache.cassandra.net.OutboundTcpConnection.messageLength(OutboundTcpConnection.java:164) > at > org.apache.cassandra.net.OutboundTcpConnection.write(OutboundTcpConnection.java:154) > at > org.apache.cassandra.net.OutboundTcpConnection.writeConnected(OutboundTcpConnection.java:115) > > at > org.apache.cassandra.net.OutboundTcpConnection.run(OutboundTcpConnection.java:94) > It looks like Header is not thread safe, but the same header instance is > modified concurrently while being sent to several threads in > StorageProxy.sendMessages. > This bug eventually causes the node to OOM, as it kills the > OutboundTcpConnection thread, which means nothing is dequeing from queue. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira