cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2419) Risk of counter over-count when recovering commit log
Date Tue, 05 Apr 2011 22:01:06 GMT


Jonathan Ellis commented on CASSANDRA-2419:

I don't understand the problem.  Say we have this situation:

CommitLog-1302036825548.log: [full of writes to CF Foo counters, up to position 100.  header
reads dirty-at 50, our last flush position]
Foo-g-45-Metadata.db: [flushed at position (1302036825548, 50)]
Foo-g-46-Metadata.db: [flushed at position (1302036825548, 100)]

We compact and get
Foo-g-46-Metadata.db: [flushed at position (1302036825548, 100)]

If we die and restart here we will correctly start reply of Foo at position 100 in this segment.

(we can combine to a single flushed-at entry in this case since they were from the same CL
segment.  if they were from different segments we would keep both.)

> Risk of counter over-count when recovering commit log
> -----------------------------------------------------
>                 Key: CASSANDRA-2419
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.8
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>              Labels: counters
>   Original Estimate: 8h
>  Remaining Estimate: 8h
> When a memtable was flush, there is a small delay before the commit log replay position
gets updated. If the node fails during this delay, all the updates of this memtable will be
replay during commit log recovery and will end-up being over-counts.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message