[
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)