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

Jonathan Ellis commented on CASSANDRA-5487:
-------------------------------------------

Figured it out.  The problem was that I was creating single-item index lists in 
RowIndexEntry.create:

{code}
        if (!index.columnsIndex.isEmpty() || !deletionInfo.isLive())
{code}

Changing this to better match the old semantics makes the test pass because no 
rows actually generate promoted IndexedEntry objects, so the test runs through 
the readSimpleColumns path:

{code}
        if (index.columnsIndex.size() > 1 || deletionInfo.getTopLevelDeletion() 
!= DeletionTime.LIVE)
{code}

My intuition is that if the SSTNI index path cannot handle a single-entry 
index, my confidence is low that it's working correctly with more entries.  
I'll create a ticket to follow up on this.
                
> Promote row-level tombstones to index file
> ------------------------------------------
>
>                 Key: CASSANDRA-5487
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5487
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>    Affects Versions: 1.2.0
>            Reporter: Jonathan Ellis
>             Fix For: 2.0
>
>         Attachments: 5487.txt
>
>
> The idea behind promoted indexes (CASSANDRA-2319) was we could skip a seek to 
> the row header by keeping the column index in the index file.  But, we skip 
> writing the row-level tombstone to the index file unless it also has some 
> column data.  So unless we read the tombstone from the data file (where it is 
> guaranteed to exist) we can return incorrect results.

--
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

Reply via email to