cassandra-commits mailing list archives

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


Sylvain Lebresne updated CASSANDRA-2349:

    Attachment: 0001-Don-t-transform-expired-tombstone-in-LazilyCompacted.patch

Attaching simpler solution consisting in not transforming expired columns into tombstones,
so that the second phase of LazilyCompactedRow sees the same columns than the first phase.

I would be happy to come up with a unit test for this, but this is a subtle race condition
and I'm really not sure how to write a test that capture it.

> 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: 8h
>  Remaining Estimate: 8h
> 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