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

Counters in super columns don't preserve correct values after cluster restart

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 1.1.0
    • None
    • None
    • ubuntu, 'trunk' branch, used ccm to create a 3 node cluster with rf=3. A dtest was created to demonstrate.

    • Normal

    Description

      Set up a 3-node cluster with rf=3. Create a counter super column family and increment a bunch of subcolumns 100 times each, with cf=QUORUM. Then wait a few second, restart the cluster, and read the values back. They almost all come back different (and higher) then they are supposed to be.

      Here are some extra things I've noticed:

      • Reading back the values before the restart always produces correct results.
      • Doing a nodetool flush before killing the cluster greatly improves the results, though sometimes a value will still be incorrect. You might have to run the test several times to see an incorrect value after a flush.
      • This problem doesn't happen on C* 1.0.7, unless you don't sleep between doing the increments and killing the cluster. Then it sometimes happens to a lesser degree.

      A dtest has been added to demonstrate this issue. It is called "super_counter_test.py".

      Attachments

        1. 3821.txt
          9 kB
          Sylvain Lebresne

        Activity

          People

            slebresne Sylvain Lebresne
            tpatterson Tyler Patterson
            Sylvain Lebresne
            Yuki Morishita
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: