Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-15059

Gossiper#markAlive can race with Gossiper#markDead

    XMLWordPrintableJSON

Details

    • Degradation - Other Exception
    • Normal
    • Normal
    • User Report
    • Hide

      circleci runs looks good

      Show
      circleci runs looks good

    Description

      The Gossiper class is not threadsafe and assumes all state changes happen in a single thread (the gossip stage). Gossiper#convict, however, can be called from the GossipTasks thread. This creates a race where calls to Gossiper#markAlive and Gossiper#markDead can interleave, corrupting gossip state. Gossiper#assassinateEndpoint has a similar problem, being called from the mbean server thread.

      Attachments

        Activity

          People

            bdeggleston Blake Eggleston
            bdeggleston Blake Eggleston
            Blake Eggleston
            Ariel Weisberg
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: