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

Duo Zhang resolved HBASE-6348.
------------------------------
    Resolution: Not A Problem

We have purged the root table for a long time. Although recently we want to 
introduce it back...

> Region assignments should be only allowed edit META hosted on the same 
> cluster.
> -------------------------------------------------------------------------------
>
>                 Key: HBASE-6348
>                 URL: https://issues.apache.org/jira/browse/HBASE-6348
>             Project: HBase
>          Issue Type: Task
>            Reporter: Jonathan Hsieh
>            Priority: Major
>
> We copied hbase file data (root/meta/tables) from one hdfs cluster to 
> another, scrubbed it, and then attempted to start the new cluster.  We 
> noticed that META on the original cluster was being modified with server 
> entries from the new cluster.  
> Its contrived but here is how it happened.
> First we copied all the data.  Then we "scrubbed" META -- we removed all 
> region serverinfo cols that pointed to nodes on the original cluster.  When 
> we started the new cluster, it picked a RS to serve ROOT.  Since we had 
> scrubbed meta, then the new cluster's master attempted to assign regions to 
> other region servers on the new cluster.  From the code's point of view this 
> all succeeeded -- zk went through transitions, according to the master they 
> were assigned.  However, we started seeing NotServingRegionExceptions on the 
> original cluster.
> The root cause is that ROOT was not scrubbed.  The new cluster assigned the 
> copy of ROOT to a new cluster RS.  Now, when the new cluster attempted to 
> modify META, it would read the old ROOT's serverinfo pointer go to the *old 
> cluster's regionserver*.  The old cluster's regionserer just so happened to 
> be still serving META, so the old cluster's META server gladly accepted the 
> assignments that included the new cluster's regionserver names.
> At this point we brought down the new cluster (it was getting killed).  
> Clients on the old cluster would now go to zk,root,meta, and get pointers to 
> the new cluster.  NSRE's happened.  Unhappyness.
> Long story short, we should have some mechanism to make sure that region 
> assignments should be only allowed edit META hosted on the same cluster.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to