hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Gray" <jg...@apache.org>
Subject Re: Review Request: ZKAssign. New zookeeper assignment methods.
Date Fri, 23 Jul 2010 23:38:55 GMT


> On 2010-07-23 16:35:42, Jonathan Gray wrote:
> > Thinking on it, I will probably need to not just blindly force something to OFFLINE
in the masters force to OFFLINE.  Though any state will be able to be transitioned to OFFLINE
(during recovery, we may need to restart the assignment of something, setting to OFFLINE first
is what allows us to timeout if for some reason an RS doesn't respond/act on an OPEN rpc),
we will want to use more of a CAS operation so we don't accidentally miss a transition on
that node.
> > 
> > For example, we may timeout an OFFLINE because it took too long, so we want to switch
it back to a new version of OFFLINE and assign to someone else.  We'll want to ensure when
setting to OFFLINE it's still in the previously seen OFFLINE version, otherwise a server may
have started OPENING in between our check and set.

(this is not totally clear to me yet, going to wait until i get a bit further in integration
of this class)


- Jonathan


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://review.hbase.org/r/382/#review476
-----------------------------------------------------------


On 2010-07-23 16:29:43, Jonathan Gray wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://review.hbase.org/r/382/
> -----------------------------------------------------------
> 
> (Updated 2010-07-23 16:29:43)
> 
> 
> Review request for hbase, stack, Jean-Daniel Cryans, Karthik Ranganathan, and Kannan
Muthukkaruppan.
> 
> 
> Summary
> -------
> 
> This method implements all the zookeeper methods needed for this last part of the doc
posted in HBASE-2692 (definition of valid creation/transitions for unassigned znodes):
> 
> 
>   MASTER
>   
>   1. Master creates an unassigned node as OFFLINE.
>   
>      - Cluster startup and table enabling. 
>   
>   2. Master forces an existing unassigned node to OFFLINE.
>   
>      - RegionServer failure.
>      
>      - Allows transitions from all states to OFFLINE.
>   
>   3. Master deletes an unassigned node that was in a OPENED state.
>   
>      - Normal region transitions.  Besides cluster startup, no other deletions
>        of unassigned nodes is allowed.
>        
>   4. Master deletes all unassigned nodes regardless of state.
>   
>      - Cluster startup before any assignment happens.
>   
>   REGIONSERVER
>   
>   1. RegionServer creates an unassigned node as CLOSING.
>   
>      - All region closes will do this in response to a CLOSE RPC from Master.
>      
>      - A node can never be transitioned to CLOSING, only created.
>   
>   2. RegionServer transitions an unassigned node from CLOSING to CLOSED.
>   
>      - Normal region closes.  CAS operation.
>   
>   3. RegionServer transitions an unassigned node from OFFLINE to OPENING.
>   
>      - All region opens will do this in response to an OPEN RPC from the Master.
>      
>      - Normal region opens.  CAS operation.
>      
>   4. RegionServer transitions an unassigned node from OPENING to OPENED.
>   
>      - Normal region opens.  CAS operation.
> 
> 
> Should I put above into the class comment javadoc or is it too much for there?
> 
> 
> This addresses bug HBASE-2697.
>     http://issues.apache.org/jira/browse/HBASE-2697
> 
> 
> Diffs
> -----
> 
>   branches/0.90_master_rewrite/src/main/java/org/apache/hadoop/hbase/zookeeper/ZKAssign.java
PRE-CREATION 
> 
> Diff: http://review.hbase.org/r/382/diff
> 
> 
> Testing
> -------
> 
> Unit test to come.  Just putting up since there have been some recent issues with multiple
transitions and stuff, wanted to show what the new stuff looks like.
> 
> 
> Thanks,
> 
> Jonathan
> 
>


Mime
View raw message