cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-445) commitlog may consider writes flushed, that are not yet
Date Tue, 15 Sep 2009 14:43:57 GMT


Jonathan Ellis commented on CASSANDRA-445:

One solution would be to have a map<thread, int> of most-recent commitlog writes per
columnfamily.  Then we could use the lowest most-recent-write on flush.  Weak referenced keys
would keep threads that don't exist anymore from causing trouble.

Dare I ask what does hbase does?

> commitlog may consider writes flushed, that are not yet
> -------------------------------------------------------
>                 Key: CASSANDRA-445
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Jonathan Ellis
>            Priority: Critical
>             Fix For: 0.5
> Jun Rao explains:
> Suppose there are 3 updates u1, u2, and u3. They are written to commit log in that order.
If u1 and u3 are applied to memtable first and at that point, a flush is triggered. After
the flush completes, it will move the commit log restarting position based on the log for
u3. However, u2 hasn't been persisted on disk yet. This means that if the node dies now, the
recovery logic won't replay u2 from the log.

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

View raw message