cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-1967) commit log replay shouldn't end with a flush
Date Wed, 25 Jul 2012 21:26:34 GMT


Jonathan Ellis commented on CASSANDRA-1967:

You're barking up the wrong tree by blaming flush.  To the degree that compaction is a problem
(and on a properly tuned system it shouldn't be), we can simply extend the five minute delay
on autocompaction to these flushes as well.
> commit log replay shouldn't end with a flush
> --------------------------------------------
>                 Key: CASSANDRA-1967
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 0.3
>            Reporter: Robert Coli
>            Priority: Minor
> (Apologies in advance if there is some very compelling reason to flush after replay,
of which I am not currently aware. ;D)
> Currently, when a node restarts, the following sequence occurs :
> a) commitlog is replayed
> b) any memtables resulting from a) are flushed 
> c) a new commitlog is opened, new memtables are switched in
> ... (other stuff happens)
> d) node starts taking traffic
> This has side effects, perhaps most seriously the potential of triggering compaction.
As a node is likely to struggle performance-wise after restarting, triggering compaction at
that time seems like something we might wish to avoid.
> I propose that the sequence be :
> a) commitlog is replayed
> b) a new commitlog is opened, new memtables are switched in 
> ... (other stuff happens)
> c) node starts taking traffic
> Looking through the relevant code, the only code that appears to depend on this flush
is at src/java/org/apache/cassandra/db/commitlog/ :
> "
>         // all old segments are recovered and deleted before CommitLog is instantiated.
>         // All we need to do is create a new one.
>         segments.add(new CommitLogSegment());
> "
> Presumably this code would have to be refactored to be aware of the currently open commitlog.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message