[ https://issues.apache.org/jira/browse/HBASE-16234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15398288#comment-15398288 ]
Yi Liang commented on HBASE-16234: ---------------------------------- [~chenheng], I have made changes for 4 place in the java code. i think only the first place need to use continue, it seems that only in the first method, inner loop for (int i = 0; i < desiredRegionReplication; i++) , start from i=0, all the other 3 places, the inner for loop start from i=1. So I think only the first place need to use continue, the other places only need to keep it same as original code. What do you think? > Expect and handle nulls when assigning replicas > ----------------------------------------------- > > Key: HBASE-16234 > URL: https://issues.apache.org/jira/browse/HBASE-16234 > Project: HBase > Issue Type: Bug > Components: Region Assignment > Affects Versions: 2.0.0 > Reporter: Harsh J > Assignee: Yi Liang > Attachments: HBASE-16234-V1.patch, HBASE-16234-V1.patch, > HBASE-16234-V2.patch, HBASE-16234-V3.patch, HBASE-16234-V4.patch > > > Observed this on a cluster: > {code} > FATAL org.apache.hadoop.hbase.master.HMaster: Unhandled exception. Starting > shutdown. > java.lang.NullPointerException > at > org.apache.hadoop.hbase.master.AssignmentManager.replicaRegionsNotRecordedInMeta(AssignmentManager.java:2799) > > at > org.apache.hadoop.hbase.master.AssignmentManager.assignAllUserRegions(AssignmentManager.java:2778) > > at > org.apache.hadoop.hbase.master.AssignmentManager.processDeadServersAndRegionsInTransition(AssignmentManager.java:638) > > at > org.apache.hadoop.hbase.master.AssignmentManager.joinCluster(AssignmentManager.java:485) > > at > org.apache.hadoop.hbase.master.HMaster.finishActiveMasterInitialization(HMaster.java:723) > > at org.apache.hadoop.hbase.master.HMaster.access$500(HMaster.java:169) > at org.apache.hadoop.hbase.master.HMaster$1.run(HMaster.java:1481) > at java.lang.Thread.run(Thread.java:745) > {code} > It looks like {{FSTableDescriptors#get(…)}} can be expected to return null in > some cases, but {{AssignmentManager.replicaRegionsNotRecordedInMeta(…)}} does > not currently have any handling for such a possibility. -- This message was sent by Atlassian JIRA (v6.3.4#6332)