[
https://issues.apache.org/jira/browse/HBASE-17112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15672846#comment-15672846
]
Anoop Sam John commented on HBASE-17112:
----------------------------------------
Ya that is what I also see.. We dont consider ts in Cells within
Increment/Append. So this issue is possible iff time at RS going back.
Another rare case I can think of is this.. 2 increments are happening with
same TS. Cur TS = old cell.. So as per the logic we will put oldTS + 1.. (=
now +1).. Now say with same TS a delete also happening for the row. But this
delete can not mask the increment put as its ts> delete ts. (Even if mvcc of
delete op is greater).. I know it is rare.. Just saying.. Or am I going
wrong some where?
> Prevent setting timestamp of delta operations being same as previous value's
> ----------------------------------------------------------------------------
>
> Key: HBASE-17112
> URL: https://issues.apache.org/jira/browse/HBASE-17112
> Project: HBase
> Issue Type: Bug
> Affects Versions: 1.1.7, 0.98.23, 1.2.4
> Reporter: Phil Yang
> Assignee: Phil Yang
> Attachments: HBASE-17112-branch-1-v1.patch,
> HBASE-17112-branch-1.1-v1.patch, HBASE-17112-v1.patch, HBASE-17112-v2.patch
>
>
> In delta operations, Increment and Append. We will read current value first
> and then write the new whole result into WAL as the type of Put with current
> timestamp. If the previous ts is larger than current ts, we will use the
> previous ts.
> If we have two Puts with same TS, we will ignore the Put with lower sequence
> id. It is not friendly with versioning. And for replication we will drop
> sequence id while writing to peer cluster so in the slave we don't know what
> the order they are being written. If the pushing is disordered, the result
> will be wrong.
> We can set the new ts to previous+1 if the previous is not less than now.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)