[ 
https://issues.apache.org/jira/browse/HBASE-17112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Yang updated HBASE-17112:
------------------------------
    Release Note: 
Before this issue, two concurrent Increments/Appends done in same millisecond 
or RS's clock going back will result in two results have same TS, which is not 
friendly to versioning and will get wrong result in slave cluster if the 
replication is disordered.
After this issue, the result of Increment/Append will always have an 
incremental TS. There is no any inconsistent in replication for these 
operations. But there is a rare case that if there is a Delete in same 
millisecond, the later result can not be masked by this Delete. This can be 
fixed after we have new semantics that previous Delete will never mask later 
Put even its timestamp is higher.

> 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