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

Phil Yang commented on HBASE-17112:
-----------------------------------

Yes, delete in same millisecond can not mask the new Put. Before this patch the 
Delete can mask two Puts. I think we can fix it after HBASE-15968 and when a cf 
enable the new semantics we can save a Delete with a large TS or even MAX_LONG 
to mask all Puts? At least after this patch we can prevent any inconsistent in 
replication. 

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

Reply via email to