AssignmentManager NullPointerException
--------------------------------------

                 Key: HBASE-3408
                 URL: https://issues.apache.org/jira/browse/HBASE-3408
             Project: HBase
          Issue Type: Bug
          Components: master
    Affects Versions: 0.90.0
            Reporter: Matt Corgan
             Fix For: 0.90.0


If AssignmentManager tries to move a region to an invalid destination server, 
rather than choosing a random server as intended, it throws an NPE.

Line 1009 should check if getDestination()==null:

 if (existingPlan == null || forceNewPlan ||
          (existingPlan.getDestination() != null && 
existingPlan.getDestination().equals(serverToExclude))) {

I triggered it by trying to manually move regions around, probably to an 
invalid destination server.  I'm not currently able to build the project to 
test if that's the extent of the problem, so here's a little more info...  

It leaves a stranded region-in-transition until the master and/or regionserver 
are restarted and causes problems like the following.  "hbck -fix" was unable 
to repair it.

2011-01-04 00:14:10,948 DEBUG org.apache.hadoop.hbase.master.CatalogJanitor: 
Scanned 4287 catalog row(s) and gc'd 0 unreferenced parent region(s)
2011-01-04 00:14:18,574 DEBUG org.apache.hadoop.hbase.master.HMaster: Not 
running balancer because 1 region(s) in transition: 
{23ebce9a5d174f87bfb96ed1da387fdc=RandomValue,,1291219068335.23ebce9a5d174f87bfb96ed1da387fdc.
 state=OFFLINE, ts=1294118046139}
2011-01-04 00:14:36,142 INFO org.apache.hadoop.hbase.master.AssignmentManager: 
Regions in transition timed out:  
RandomValue,,1291219068335.23ebce9a5d174f87bfb96ed1da387fdc. state=OFFLINE, 
ts=1294118046139
2011-01-04 00:14:36,142 INFO org.apache.hadoop.hbase.master.AssignmentManager: 
Region has been OFFLINE for too long, reassigning 
RandomValue,,1291219068335.23ebce9a5d174f87bfb96ed1da387fdc. to a random server
2011-01-04 00:14:36,142 DEBUG org.apache.hadoop.hbase.master.AssignmentManager: 
Forcing OFFLINE; 
was=RandomValue,,1291219068335.23ebce9a5d174f87bfb96ed1da387fdc. state=OFFLINE, 
ts=1294118046139
2011-01-04 00:14:36,142 ERROR 
org.apache.hadoop.hbase.master.AssignmentManager$TimeoutMonitor: Caught 
exception
java.lang.NullPointerException
        at 
org.apache.hadoop.hbase.master.AssignmentManager.getRegionPlan(AssignmentManager.java:934)
 (i think this is .90.0RC1, so same bug on a different line number)
        at 
org.apache.hadoop.hbase.master.AssignmentManager.getRegionPlan(AssignmentManager.java:909)
        at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:822)
        at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:663)
        at 
org.apache.hadoop.hbase.master.AssignmentManager.assign(AssignmentManager.java:643)
        at 
org.apache.hadoop.hbase.master.AssignmentManager$TimeoutMonitor.chore(AssignmentManager.java:1481)
        at org.apache.hadoop.hbase.Chore.run(Chore.java:66)


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to