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

Fix the read race condition in CFStore for counters

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 0.8 beta 1
    • None
    • Normal

    Description

      There is a (known) race condition during counter read. Indeed, for standard
      column family there is a small time during which a memtable is both active and
      pending flush and similarly a small time during which a 'memtable' is both
      pending flush and an active sstable. For counters that would imply sometime
      reconciling twice during a read the same counterColumn and thus over-counting.

      Current code changes this slightly by trading the possibility to count twice a
      given counterColumn by the possibility to miss a counterColumn. Thus it trades
      over-counts for under-counts.

      But this is no fix and there is no hope to offer clients any kind of guarantee
      on reads unless we fix this.

      Attachments

        1. 2115_option1_withLock.patch
          11 kB
          Sylvain Lebresne
        2. 2115_option2_nolock.patch
          16 kB
          Sylvain Lebresne

        Activity

          People

            slebresne Sylvain Lebresne
            slebresne Sylvain Lebresne
            Sylvain Lebresne
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 4h
                4h
                Remaining:
                Remaining Estimate - 4h
                4h
                Logged:
                Time Spent - Not Specified
                Not Specified