You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Young-Seok Kim (JIRA)" <ji...@apache.org> on 2016/06/27 23:17:57 UTC

[jira] [Created] (ASTERIXDB-1507) Delete operation may cause inconsistency between the primary index and secondary indexes.

Young-Seok Kim created ASTERIXDB-1507:
-----------------------------------------

             Summary: Delete operation may cause inconsistency between the primary index and secondary indexes.
                 Key: ASTERIXDB-1507
                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-1507
             Project: Apache AsterixDB
          Issue Type: Bug
            Reporter: Young-Seok Kim


Delete operation may cause inconsistency between a primary index and secondary indexes in a dataset. This case can happen in the following situation.

Transaction T1 tries to delete a record r1. Delete operation consists of two phases: search phase and delete phase. The search phase identifies records to be deleted. Then, the delete phase deletes those records. However, since the search phase finds qualified records with instant locks, the records found during the search phase may have been modified and committed by another concurrent transactions before the T1 deletes those records. Suppose another transaction T2 completed to upsert the r1 with a different secondary key value. After that, T1 starts its delete phase. T1 deletes the new r1 which was upserted by T2 from the primary index. But, when it tries to delete the corresponding secondary key value from the secondary index based on the old r1, T1 may not find the old secondary key value, so it may not delete the new r1's secondary key value, thus the primary index and the secondary index are not consistent in this situation. 




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