Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
Description
The following scenario came from support case.
In cluster 1, create RS group rsg. Move table to rsg group.
Take snapshot of the table and copy the snapshot to cluster 2 where there is no group called rsg.
Cloning snapshot to table new_t4 on cluster 2 fails :
2018-01-09 11:45:30,468 INFO [RestoreSnapshot-pool68-t1] regionserver.HRegion: Closed new_t4,,1514454789243.a6173d2955182ac5bde208301681c6af. 2018-01-09 11:45:30,468 INFO [MASTER_TABLE_OPERATIONS-shubh1-1:16000-0] snapshot.CloneSnapshotHandler: Clone snapshot=snap_t3 on table=new_t4 completed! 2018-01-09 11:45:30,492 INFO [MASTER_TABLE_OPERATIONS-shubh1-1:16000-0] hbase.MetaTableAccessor: Added 1 2018-01-09 11:45:30,492 WARN [MASTER_TABLE_OPERATIONS-shubh1-1:16000-0] rsgroup.RSGroupBasedLoadBalancer: Group for table new_t4 is null 2018-01-09 11:45:30,492 DEBUG [MASTER_TABLE_OPERATIONS-shubh1-1:16000-0] rsgroup.RSGroupBasedLoadBalancer: Group Information found to be null. Some regions might be unassigned. 2018-01-09 11:45:30,492 WARN [MASTER_TABLE_OPERATIONS-shubh1-1:16000-0] master.RegionStates: Failed to open/close a6173d2955182ac5bde208301681c6af on null, set to FAILED_OPEN
Here is related code from RSGroupBasedLoadBalancer:
List<ServerName> candidateList = filterOfflineServers(info, servers); for (RegionInfo region : regionList) { currentAssignmentMap.put(region, regions.get(region)); } if(candidateList.size() > 0) { assignments.putAll(this.internalBalancer.retainAssignment( currentAssignmentMap, candidateList));
candidateList is empty for table new_t4, leaving region for the table in FAILED_OPEN state.