C. Scott Andreas updated CASSANDRA-9834:
    Component/s: Core

> Merge Hints/CommitLog/BatchLog
> ------------------------------
>                 Key: CASSANDRA-9834
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9834
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Benedict
>            Priority: Major
>             Fix For: 4.x
> As discussed briefly on CASSANDRA-6230, it should be quite possible to 
> construct a single log that can serve as commit log, hints log and batch log. 
> The basic idea would be to write sequentially, marking messages as members of 
> one or more logical logs. We have a separate efficient (possibly embedded) 
> ledger for invalidation of log records. As entire log segments become 
> invalidated, we simply delete them; the rest we accumulate until we hit a 
> high watermark, and have segments that are at least half empty, at which 
> point we begin rewriting the emptiest.
> This absolutely bounds our worst case sequential IO at 2x that used by _just_ 
> the commit log, with normal operation under sufficiently high watermark 
> having zero overhead. The upper bound for space utilisation is the smaller of 
> 2x the actual amount of data stored, and our high watermark. This gives us 
> batch and hints for free, and eliminates OOMs from hints.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to