[ 
https://issues.apache.org/jira/browse/CASSANDRA-3530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13157073#comment-13157073
 ] 

Hudson commented on CASSANDRA-3530:
-----------------------------------

Integrated in Cassandra-0.8 #404 (See 
[https://builds.apache.org/job/Cassandra-0.8/404/])
    avoid race in OutboundTcpConnection in multi-DC setups
patch by jbellis; reviewed by slebresne for CASSANDRA-3530

slebresne : 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1206098
Files : 
* /cassandra/branches/cassandra-0.8/CHANGES.txt
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/RowMutationVerbHandler.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/Header.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/net/Message.java
* 
/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/service/StorageProxy.java

                
> 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
>            Assignee: Jonathan Ellis
>             Fix For: 0.8.8, 1.0.4
>
>         Attachments: 3530-0.8.txt, 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

        

Reply via email to