[ 
https://issues.apache.org/jira/browse/HADOOP-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12548480
 ] 

Jim Kellerman commented on HADOOP-2338:
---------------------------------------

assignAttempts guards against a region server not getting a message telling it 
to open the region.
So we will keep it. Currently, when the region server acknowledges that it 
received the message,
we extend the time by max-region-open-time / 2 to give the server time to 
finish opening the region.
That time extension should probably just be max-region-open-time.

The region server, on the other hand never tells the master if it cannot open 
the region. This should be changed
so that if the region server cannot open the region, it should send a "i've 
closed this region" message to the
master.

> [hbase] NPE in master server
> ----------------------------
>
>                 Key: HADOOP-2338
>                 URL: https://issues.apache.org/jira/browse/HADOOP-2338
>             Project: Hadoop
>          Issue Type: Bug
>          Components: contrib/hbase
>    Affects Versions: 0.16.0
>            Reporter: Jim Kellerman
>            Assignee: Jim Kellerman
>             Fix For: 0.16.0
>
>         Attachments: master.log.gz
>
>
> Master gets an NPE after receiving multiple responses from the same server 
> telling the master it has opened a region.
> {code}
> 2007-12-02 20:31:37,515 DEBUG hbase.HRegion - Next sequence id for region 
> postlog,img254/577/02suecia024richardburnson0.jpg,1196619667879 is 73377537
> 2007-12-02 20:31:37,517 INFO  hbase.HRegion - region 
> postlog,img254/577/02suecia024richardburnson0.jpg,1196619667879 available
> 2007-12-02 20:31:39,200 WARN  hbase.HRegionServer - Processing message 
> (Retry: 0)
> java.io.IOException: java.io.IOException: java.lang.NullPointerException
>     at org.apache.hadoop.hbase.HMaster.processMsgs(HMaster.java :1484)
>     at org.apache.hadoop.hbase.HMaster.regionServerReport(HMaster.java:1423)
>     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java
>  :25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:379)
>     at org.apache.hadoop.ipc.Server$Handler.run(Server.java:596)
>     at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
>     at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>     at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java
>  :27)
>     at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>     at 
> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:82)
>     at org.apache.hadoop.hbase.RemoteExceptionHandler.checkIOException 
> (RemoteExceptionHandler.java:48)
>     at org.apache.hadoop.hbase.HRegionServer.run(HRegionServer.java:759)
>     at java.lang.Thread.run(Thread.java:619)
>       case HMsg.MSG_REPORT_PROCESS_OPEN:
>         synchronized ( this.assignAttempts) {
>           // Region server has acknowledged request to open region.
>           // Extend region open time by 1/2 max region open time.
> **1484**          assignAttempts.put(region.getRegionName (), 
>               Long.valueOf(assignAttempts.get(
>                   region.getRegionName()).longValue() +
>                   (this.maxRegionOpenTime / 2)));
>         }
>         break;
> {code}

-- 
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