Esteban Gutierrez created HBASE-12380: -----------------------------------------
Summary: Too many attempts to open a region can crash the RegionServer Key: HBASE-12380 URL: https://issues.apache.org/jira/browse/HBASE-12380 Project: HBase Issue Type: Bug Affects Versions: 2.0.0 Reporter: Esteban Gutierrez Priority: Critical Noticed this while trying to fix faulty test while working on a fix for HBASE-12219: {code} Tests in error: TestRegionServerNoMaster.testMultipleOpen:237 » Service java.io.IOException: R... TestRegionServerNoMaster.testCloseByRegionServer:211->closeRegionNoZK:201 » Service {code} Initially I thought the problem was on my patch for HBASE-12219 but I noticed that the issue was occurring on the 7th attempt to open the region. However I was able to reproduce the same problem in the master branch after increasing the number of requests in testMultipleOpen(): {code} 2014-10-29 15:03:45,043 INFO [Thread-216] regionserver.RSRpcServices(1334): Receiving OPEN for the region:TestRegionServerNoMaster,,1414620223682.025198143197ea68803e49819eae27ca., which we are already trying to OPEN - ignoring this new request for this region. Submitting openRegion attempt: 16 <==== 2014-10-29 15:03:45,044 INFO [Thread-216] regionserver.RSRpcServices(1311): Open TestRegionServerNoMaster,,1414620223682.025198143197ea68803e49819eae27ca. 2014-10-29 15:03:45,044 INFO [PostOpenDeployTasks:025198143197ea68803e49819eae27ca] hbase.MetaTableAccessor(1307): Updated row TestRegionServerNoMaster,,1414620223682.025198143197ea68803e49819eae27ca. with server=192.168.1.105,63082,1414620220789 Submitting openRegion attempt: 17 <==== 2014-10-29 15:03:45,046 ERROR [RS_OPEN_REGION-192.168.1.105:63082-2] handler.OpenRegionHandler(88): Region 025198143197ea68803e49819eae27ca was already online when we started processing the opening. Marking this new attempt as failed 2014-10-29 15:03:45,047 FATAL [Thread-216] regionserver.HRegionServer(1931): ABORTING region server 192.168.1.105,63082,1414620220789: Received OPEN for the region:TestRegionServerNoMaster,,1414620223682.025198143197ea68803e49819eae27ca., which is already online 2014-10-29 15:03:45,047 FATAL [Thread-216] regionserver.HRegionServer(1937): RegionServer abort: loaded coprocessors are: [org.apache.hadoop.hbase.coprocessor.MultiRowMutationEndpoint] 2014-10-29 15:03:45,054 WARN [Thread-216] regionserver.HRegionServer(1955): Unable to report fatal error to master com.google.protobuf.ServiceException: java.io.IOException: Call to /192.168.1.105:63079 failed on local exception: java.io.IOException: Connection to /192.168.1.105:63079 is closing. Call id=4, waitTime=2 at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1707) at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1757) at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$BlockingStub.reportRSFatalError(RegionServerStatusProtos.java:8301) at org.apache.hadoop.hbase.regionserver.HRegionServer.abort(HRegionServer.java:1952) at org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer.abortRegionServer(MiniHBaseCluster.java:174) at org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer.access$100(MiniHBaseCluster.java:108) at org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer$2.run(MiniHBaseCluster.java:167) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:356) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1528) at org.apache.hadoop.hbase.security.User$SecureHadoopUser.runAs(User.java:277) at org.apache.hadoop.hbase.MiniHBaseCluster$MiniHBaseClusterRegionServer.abort(MiniHBaseCluster.java:165) at org.apache.hadoop.hbase.regionserver.HRegionServer.abort(HRegionServer.java:1964) at org.apache.hadoop.hbase.regionserver.RSRpcServices.openRegion(RSRpcServices.java:1308) at org.apache.hadoop.hbase.regionserver.TestRegionServerNoMaster.testMultipleOpen(TestRegionServerNoMaster.java:237) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17) at org.junit.internal.runners.statements.FailOnTimeout$StatementThread.run(FailOnTimeout.java:74) Caused by: java.io.IOException: Call to /192.168.1.105:63079 failed on local exception: java.io.IOException: Connection to /192.168.1.105:63079 is closing. Call id=4, waitTime=2 at org.apache.hadoop.hbase.ipc.RpcClient.wrapException(RpcClient.java:1563) at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1534) at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1692) ... 23 more Caused by: java.io.IOException: Connection to /192.168.1.105:63079 is closing. Call id=4, waitTime=2 at org.apache.hadoop.hbase.ipc.RpcClient$Connection.cleanupCalls(RpcClient.java:1257) at org.apache.hadoop.hbase.ipc.RpcClient$Connection.close(RpcClient.java:1063) at org.apache.hadoop.hbase.ipc.RpcClient$Connection.run(RpcClient.java:791) {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)