[
https://issues.apache.org/jira/browse/CASSANDRA-8496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benedict reopened CASSANDRA-8496:
---------------------------------
> Remove MemtablePostFlusher
> --------------------------
>
> Key: CASSANDRA-8496
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8496
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Benedict
> Priority: Major
> Fix For: 4.x
>
>
> To improve clearing of the CL, prevent infinite growth, and ensure the prompt
> completion of tasks waiting on flush in the case of transient errors, large
> flushes or slow disks, in 2.1 we could eliminate the post flusher altogether.
> Since we now enforce that Memtables track contiguous ranges, a relatively
> small change would permit Memtables to know the exact minimum as well as the
> currently known exact maximum. The CL could easily track the total dirty
> range, knowing that it must be contiguous, by using an AtomicLong instead of
> an AtomicInteger, and tracking both the min/max seen, not just the max. The
> only slight complexity will come in for tracking the _clean_ range as this
> can now be non-contiguous, if there are 3 memtable flushes covering the same
> CL segment, and one of them completes later. To solve this we can use an
> interval tree since these operations are infrequent, so the extra overhead is
> nominal. Once the interval tree completely overlaps the dirty range, we mark
> the entire dirty range clean.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]