[ 
https://issues.apache.org/jira/browse/CASSANDRA-2349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13007982#comment-13007982
 ] 

Sylvain Lebresne edited comment on CASSANDRA-2349 at 3/17/11 4:36 PM:
----------------------------------------------------------------------

bq. don't we need forceKeepExpired for both passes or we have the opposite 
problem? If so, would prefer fKE a constructor arg for the iterator instead of 
setter.

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

Note that the point of transforming expired columns to tombstone is to re-gain 
quickly the disk space used by the column value (without having to wait for 
gcGrace). So using fKE in phase 1 would prevent that for LazilyCompactedRow, 
which would be a pity.

      was (Author: slebresne):
    bq. don't we need forceKeepExpired for both passes or we have the opposite 
problem? If so, would prefer fKE a constructor arg for the iterator instead of 
setter.

There is no opposite problem, since you can't have a column expired for the 
first phase but not for the second one.
  
> Expring columns can expire between the two phase of LazilyCompactedRow.
> -----------------------------------------------------------------------
>
>                 Key: CASSANDRA-2349
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2349
>             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: http://www.atlassian.com/software/jira

Reply via email to