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

Jim Kellerman commented on HADOOP-1724:
---------------------------------------

The only time a message is written to the logs is if DEBUG level logging is 
enabled. Under normal operation, the log level should be set to INFO in which 
case no stack trace will be visible unless the client runs out of retries (in 
which case both NotServingRegionException and WrongRegionException should be 
treated as errors).

commit can not return a "region moved" message because the region server has no 
idea what happened some time earlier. It just knows that the region that was 
requested of it is not one of the ones it is serving.

Debug logs are not pretty and if someone does enable them, then they are not 
operating "normally".

For these reasons I'm inclined to not make this change.

> [hbase] 'Normal' operation should not depend on throwing of exceptions (e.g. 
> NotServingRegionException)
> -------------------------------------------------------------------------------------------------------
>
>                 Key: HADOOP-1724
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1724
>             Project: Hadoop
>          Issue Type: Improvement
>          Components: contrib/hbase
>            Reporter: stack
>            Assignee: Jim Kellerman
>            Priority: Minor
>
> Region server and client logs will have lots of the following when a cluster 
> is being loaded:
> {code}
> org.apache.hadoop.hbase.NotServingRegionException: 
> hbaserepository,,7144829661993961256
>         at 
> org.apache.hadoop.hbase.HRegionServer.getRegion(HRegionServer.java:1208)
>         at 
> org.apache.hadoop.hbase.HRegionServer.getRegion(HRegionServer.java:1180)
>         at 
> org.apache.hadoop.hbase.HRegionServer.startUpdate(HRegionServer.java:1122)
>         at 
> org.apache.hadoop.hbase.HRegionServer.batchUpdate(HRegionServer.java:985)
>         at sun.reflect.GeneratedMethodAccessor7.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:340)
>         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:566)
> {code}
> The NotServingRegionException exception is thrown when the remote server is 
> no longer serving the asked-for region (usually because its been split).  The 
> server throws the exception to provoke the client into making a new 
> interrogation of region locations.
> It would be an improvement if such 'normal' operation was not built atop 
> exceptions.  For example, commits might return a 'region moved' message.

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