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

Jonathan Gray commented on HBASE-3136:
--------------------------------------

Opened HBASE-3137 to optimize this.

> Stale reads from ZK can break the atomic CAS operations we have in ZKAssign
> ---------------------------------------------------------------------------
>
>                 Key: HBASE-3136
>                 URL: https://issues.apache.org/jira/browse/HBASE-3136
>             Project: HBase
>          Issue Type: Bug
>          Components: zookeeper
>    Affects Versions: 0.89.20100621, 0.89.20100924, 0.90.0
>            Reporter: Jonathan Gray
>            Assignee: Jonathan Gray
>            Priority: Blocker
>             Fix For: 0.90.0
>
>
> With ZK based region transitions, we rely on atomic state changes of regions 
> in transition.  For example, an RS needs to atomically switch a node from 
> OFFLINE to OPENING, or the master needs to delete nodes that are in OPENED 
> state, etc...
> The way we implement this is by:
> - Read existing data (returns byte[] and version in Stat)
> - Verify data is in expected state
> - Update to the new state, passing the expected version previously read
> This doesn't always work as expected because that initial read of the 
> existing data could be a stale read (in ZK, writes are quorum writes but 
> reads are not so you can get stale data).
> Can provide a more explicit example if anyone is interested, but a fix is 
> coming.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to