You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Hans Zeller (JIRA)" <ji...@apache.org> on 2015/07/15 23:56:05 UTC

[jira] [Created] (TRAFODION-40) Compiler work to allow a conditional delete

Hans Zeller created TRAFODION-40:
------------------------------------

             Summary: Compiler work to allow a conditional delete
                 Key: TRAFODION-40
                 URL: https://issues.apache.org/jira/browse/TRAFODION-40
             Project: Apache Trafodion
          Issue Type: Sub-task
            Reporter: Hans Zeller


Part of TRAFODION-14.

Selva and Suresh found that we sometimes miss index rows. This is causes if all of the following happen: a) we perform index maintenance for an update (delete of the old index row, followed by insert of the new row), b) the old and new row of the index have the same row key, i.e. we didn't change the column values in the index and c) the HBase timestamp is the same for the index delete and the update (delete and insert happen in the same millisecond).

Selva suggested to solutions:

1. Determine the max. timestamp of the old row and use that timestamp for the delete. That would work (unlikely someone did an insert in a different statement in the same millisecond), but it would require reading the value before an index delete.

2. Add a new expression for the index delete (could also do it for the insert) that skips the delete if old and new index values match.

We want to go with solution 2., since it has the better performance. I'm filing this JIRA for the necessary compiler work,



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