cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Updated: (CASSANDRA-1954) Double-check or replace RRW memtable lock
Date Fri, 18 Feb 2011 23:21:45 GMT


Jonathan Ellis updated CASSANDRA-1954:

    Attachment: 1954-v2.txt

I like it.  I renamed Frozen in v2 to PendingFlush (since with the new design we accept writes
to the old memtable even while maybeSwitch is running, so the old implication of "once it's
frozen nothing new gets added" is no longer true).

I do think we should move this to trunk though.

> Double-check or replace RRW memtable lock
> -----------------------------------------
>                 Key: CASSANDRA-1954
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Stu Hood
>            Priority: Minor
>         Attachments: 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt,
0001-Remove-flusherLock-readLock.patch, 1954-v2.txt
> {quote}...when a Memtable reaches its threshold, up to (all) N write threads will often
notice, and race to acquire the writeLock in order to freeze the memtable. This means that
we do way more writeLock acquisitions than we need to...{quote}
> See CASSANDRA-1930 for backstory, but adding double checking inside a read lock before
trying to re-entrantly acquire the writelock would eliminate most of these excess writelock
> Alternatively, we should explore removing locking from these structures entirely, and
replacing the writeLock acquisition with a per-memtable counter of active threads.

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


View raw message