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

Tanuj Khurana commented on PHOENIX-6541:
----------------------------------------

It turns out the old implementation of conditional upserts which relied on the 
_preIncrementAfterRowLock()_ hook on the IndexRegionObserver coprocessor only 
honored the ROW_TIMESTAMP column value when a row is first inserted. On 
subsequent conditional upserts on the same row, the mutations which are 
generated on the server side got server timestamps. Using server timestamps is 
actually needed to ensure correctness later when rows are read back.

This Jira aims to restore parity with the old behavior of conditional upserts 
with regards to ROW_TIMESTAMP. 

> Use ROW_TIMESTAMP column value as timestamps for conditional upsert mutations
> -----------------------------------------------------------------------------
>
>                 Key: PHOENIX-6541
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6541
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 4.16.1, 5.1.2
>            Reporter: Tanuj Khurana
>            Assignee: Tanuj Khurana
>            Priority: Major
>
> For tables without indexes if ROW_TIMESTAMP is specified in the table DDL, 
> the mutations generated by conditional upserts don't have the correct 
> timestamp. This was introduced as part of [PHOENIX-6387]
> For tables with indexes, Phoenix doesn't allow specifying a PK column as 
> ROW_TIMESTAMP so this bug doesn't apply.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to