[
https://issues.apache.org/jira/browse/CASSANDRA-5151?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yuki Morishita updated CASSANDRA-5151:
--------------------------------------
Attachment: 5151-v2.txt
Alright, CQL3 based v2 patch attached.
Below is newly introduced compaction_log schema:
{code}
CREATE TABLE compaction_log (
id uuid PRIMARY KEY,
keyspace_name text,
columnfamily_name text,
inputs set<int>
) WITH COMMENT='unfinished compactions'
{code}
data in compaction_log gets created at the beginning of compaction and removed
when finished. It only tracks compaction inputs and the node uses them combined
with each sstable's ancestors to remove leftovers.
compaction_log does not store logs from system columnfamilies(should we skip
auth and trace also?).
> Implement better way of eliminating compaction left overs.
> ----------------------------------------------------------
>
> Key: CASSANDRA-5151
> URL: https://issues.apache.org/jira/browse/CASSANDRA-5151
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 1.1.3
> Reporter: Yuki Morishita
> Assignee: Yuki Morishita
> Fix For: 1.2.1
>
> Attachments: 5151-1.2.txt, 5151-v2.txt
>
>
> This is from discussion in CASSANDRA-5137. Currently we skip loading SSTables
> that are left over from incomplete compaction to not over-count counter, but
> the way we track compaction completion is not secure.
> One possible solution is to create system CF like:
> {code}
> create table compaction_log (
> id uuid primary key,
> inputs set<int>,
> outputs set<int>
> );
> {code}
> to track incomplete compaction.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira