hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Dyer (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-8856) Crash when attempting split with DelimitedKeyPrefixRegionSplitPolicy
Date Wed, 03 Jul 2013 04:20:21 GMT

    [ https://issues.apache.org/jira/browse/HBASE-8856?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13698575#comment-13698575
] 

Robert Dyer commented on HBASE-8856:
------------------------------------

[~enis] I'm not entirely sure what the proper fix is, as I don't know the semantics of this
method that well.  But it seems it is allowed to return null "null if it cannot be split"
so perhaps the fix is to check if the super call returns null and just pass that null along?
 If that seems right I can easily write such a patch.

[~ram_krish] Possibly, though the traces are very different.  That issue might fix why the
super call returned null in the first place, but the code definitely needs to handle nulls
(as the super is allowed to return null) so this issue still needs addressed.
                
> Crash when attempting split with DelimitedKeyPrefixRegionSplitPolicy
> --------------------------------------------------------------------
>
>                 Key: HBASE-8856
>                 URL: https://issues.apache.org/jira/browse/HBASE-8856
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.94.8
>            Reporter: Robert Dyer
>
> I am using DelimitedKeyPrefixRegionSplitPolicy on my table.  When I attempted to split
the table from the web interface, it gives the error below.
> I believe the problem is org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.getSplitPoint:75
- the call from super.getSplitPoint() (line 71) returns null and this condition is not checked.
> -------
> HTTP ERROR 500
> Problem accessing /table.jsp. Reason:
>     java.io.IOException: java.lang.NullPointerException: array
> 	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204)
> 	at com.google.common.primitives.Bytes.indexOf(Bytes.java:115)
> 	at org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.getSplitPoint(DelimitedKeyPrefixRegionSplitPolicy.java:75)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5697)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3279)
> 	at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
> Caused by:
> org.apache.hadoop.ipc.RemoteException: java.io.IOException: java.lang.NullPointerException:
array
> 	at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:204)
> 	at com.google.common.primitives.Bytes.indexOf(Bytes.java:115)
> 	at org.apache.hadoop.hbase.regionserver.DelimitedKeyPrefixRegionSplitPolicy.getSplitPoint(DelimitedKeyPrefixRegionSplitPolicy.java:75)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.checkSplit(HRegion.java:5697)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.splitRegion(HRegionServer.java:3279)
> 	at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:601)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:995)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:86)
> 	at com.sun.proxy.$Proxy11.splitRegion(Unknown Source)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1620)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1608)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1565)
> 	at org.apache.hadoop.hbase.client.HBaseAdmin.split(HBaseAdmin.java:1552)
> 	at org.apache.hadoop.hbase.generated.master.table_jsp._jspService(table_jsp.java:94)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
> 	at org.apache.hadoop.http.HttpServer$QuotingInputFilter.doFilter(HttpServer.java:835)
> 	at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> 	at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> 	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
> 	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
> 	at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
> 	at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
> 	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> 	at org.mortbay.jetty.Server.handle(Server.java:326)
> 	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> 	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> 	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> 	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> 	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> 	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
> 	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message