[
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