cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason Brown (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-13075) Indexer is not correctly invoked when building indexes over sstables
Date Thu, 19 Jan 2017 22:16:26 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-13075?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jason Brown updated CASSANDRA-13075:
------------------------------------
       Resolution: Fixed
    Fix Version/s: 3.11
                   4.0
                   3.0.11
           Status: Resolved  (was: Ready to Commit)

committed to 3.0, 3.11, and trunk as sha {{7a06df79d829ac073264045eb9420a61c5ba939a}}. Thanks!

> Indexer is not correctly invoked when building indexes over sstables
> --------------------------------------------------------------------
>
>                 Key: CASSANDRA-13075
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13075
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Sergio Bossa
>            Assignee: Alex Petrov
>            Priority: Critical
>             Fix For: 3.0.11, 4.0, 3.11
>
>         Attachments: CustomIndexTest.java
>
>
> Following CASSANDRA-12796, {{SecondaryIndexManager#indexPartition()}} calls each {{Indexer}}
{{begin}} and {{finish}} methods multiple times per partition (depending on the page size),
as {{PartitionIterators#getOnlyElement()}} returns an empty partition even when the iterator
is exhausted.
> This leads to bugs for {{Indexer}} implementations doing actual work in those  methods,
but even worse, it provides the {{Indexer}} the same input of an empty partition containing
only a non-live partition deletion, as the {{Indexer#partitionDelete()}} method is *not* actually
called.
> My proposed solution:
> 1) Stop the iteration before the empty partition is returned and ingested into the {{Indexer}}.
> 2) Actually call the {{Indexer#partitionDelete()}} method inside {{SecondaryIndexManager#indexPartition()}}
(which requires to use a filtered iterator so it actually contains the deletion info).



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message