cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-6812) Iterative Memtable->SSTable Replacement
Date Fri, 07 Mar 2014 03:17:43 GMT


Jonathan Ellis commented on CASSANDRA-6812:

FWIW my gut is that this will fall into the "not worth the extra complexity" category.

> Iterative Memtable->SSTable Replacement
> ---------------------------------------
>                 Key: CASSANDRA-6812
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>              Labels: performance
>             Fix For: 3.0
> In an ideal world we wouldn't flush any memtable until we were almost completely out
of room. The problem with this approach (and in fact whenever we currently *do* run out of
room) is that flushing an entire memtable is a slow process, and so write latencies spike
dramatically during this interval.
> The solution to this is, in principle, quite straight forward: As we write chunks of
the new sstable and its index, open them up immediately for reading, and free the memory associated
with the portion of the file that has been written so that it can be reused immediately for
writing. This way whilst latency will increase for the duration of the flush, the max latency
experienced during this time should be no greater than the time taken to flush a few chunks,
which should still be on the order of milliseconds, not seconds.
> This depends on CASSANDRA-6689 and CASSANDRA-6694, so that we can reclaim arbitrary portions
of the allocated memory prior to a complete flush.

This message was sent by Atlassian JIRA

View raw message