race condition with Gossiper with receiving messages when starting up?
----------------------------------------------------------------------

                 Key: CASSANDRA-1010
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1010
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 0.7
            Reporter: Erick Tryzelaar


I occasionally get this exception when starting a node:

ERROR 17:53:52,941 Fatal exception in thread Thread[GMFD:4,5,main]
java.lang.AssertionError
        at org.apache.cassandra.net.Header.<init>(Header.java:55)
        at org.apache.cassandra.net.Header.<init>(Header.java:73)
        at org.apache.cassandra.net.Message.<init>(Message.java:58)
        at 
org.apache.cassandra.gms.Gossiper.makeGossipDigestAckMessage(Gossiper.java:295)
        at 
org.apache.cassandra.gms.Gossiper$GossipDigestSynVerbHandler.doVerb(Gossiper.java:888)
        at 
org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:41)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)

I believe I've tracked down this to there being a small window of time between 
starting the Gossiper.GossipSynVerbHandler thread and when Gossiper.start is 
called with it's endpoint. This is because the thread is started in the 
StorageService constructor, which seems to be getting initialized before 
thrift.CassandraDaemon.setup is being called.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to