cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-2349) Expring columns can expire between the two phase of LazilyCompactedRow.
Date Thu, 17 Mar 2011 16:48:29 GMT


Jonathan Ellis commented on CASSANDRA-2349:

bq. There is no opposite problem, since you can't have a column expired for the first phase
but not for the second one.

But you can have an expired column counted as a tombstone for the first but not in the second
since you have enabled forceKE.  No?

bq. the point of transforming expired columns to tombstone is to re-gain quickly the disk
space used by the column value

Right, which is why using a constant expireBefore value that we pass to the serializer instead
of computing it locally each time seems like a better solution. 

> Expring columns can expire between the two phase of LazilyCompactedRow.
> -----------------------------------------------------------------------
>                 Key: CASSANDRA-2349
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7.0
>            Reporter: Sylvain Lebresne
>            Assignee: Sylvain Lebresne
>            Priority: Critical
>             Fix For: 0.7.5
>         Attachments: 0001-Don-t-transform-expired-tombstone-in-LazilyCompacted.patch
>   Original Estimate: 2h
>  Remaining Estimate: 2h
> LazilyCompactedRow reads the columns to compact twice. First to create the index, bloom
filter and calculate the data size, and then another phase to actually write the columns.
But a column can expire between those two phase, which will result in a bad data size in the
sstable (and a possibly corrupted row index).

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message