Apache9 commented on PR #6448: URL: https://github.com/apache/hbase/pull/6448#issuecomment-2927256080
> > Which version were you guys on when you hit this problem? > > This issue is being observed on a 2.4.17 (with some extra backports), but I guess it could also affect higher versions. > > > I still do not get the point that why the regions could be in offline state... > > My reading is that the meta replicas never get assigned, because we never trigger the ModifyTableProcedure to change region replicas count in the meta table descriptor: > > 1. [We will enter the block here because replica count is 3 in the config](https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1167) > 2. [This will return 1 because we are running this master for the first time and no meta replica node has been created yet in ZK](https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1175) > 3. [This returns false because we are using a root dir of a previous existing cluster, where meta replica was enabled, so the meta descriptor is already 3] (https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1177) > 4. [This too returns false, and we never trigger the ModifyTableProcedure] (https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java#L1185) > 5. Since we miss triggering the ModifyTableProcedure, we never manage to assign the meta replicas, which should occur [here](https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java#L244) > > @Apache9 @richardantal does the above make sense? If so, I think the proposed fix should be improved, as it would update the metaDesc with 1 as replica count just to pass [this if check](https://github.com/apache/hbase/pull/6448/files#diff-0e55b368bd805325243956ccd037e06bf8954c2c2cb99b665a1dd4c88f26f97bR1177), create a new descriptor with replica count 3 and trigger the modify proc. > > We should rather just trigger the meta replicas assignment, when we see replica count in table desc is greater than existingReplicasCount. Ah I missed this one. At least on master and branch-3, there is no problem on step 2 because we store region replicas location for meta in master local region, not in zookeeper. So at least I do not think we need this on master and branch-3. Let me check whether branch-2.x also use master local region to store meta region locations. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org