You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Robert Dyer (JIRA)" <ji...@apache.org> on 2013/07/10 20:43:49 UTC

[jira] [Updated] (HBASE-8856) Crash when attempting split with DelimitedKeyPrefixRegionSplitPolicy

     [ https://issues.apache.org/jira/browse/HBASE-8856?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Robert Dyer updated HBASE-8856:
-------------------------------

    Description: 
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.

-------

{code}
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)
{code}

  was:
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)


    
> 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.
> -------
> {code}
> 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)
> {code}

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