[
https://issues.apache.org/jira/browse/HADOOP-1724?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12521597
]
Jim Kellerman commented on HADOOP-1724:
---------------------------------------
There are two cases for batchUpdate that I would consider to be "normal
operation" as you have described it. Both could result from a region split:
NotServingRegionException, and WrongRegionException (in which the row being
updated falls outside the row range of the region that is being served).
The other exceptions that might get thrown during a batch update really are
problems: region is offline, region is closed, etc. These will remain
exceptions.
batchUpdate will be modified to return a boolean: true if successful; false if
the server caught a NotServingRegionException or WrongRegionException. When the
client receives a false answer, it needs to "recalibrate"
> [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.