[ https://issues.apache.org/jira/browse/HBASE-21378?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jingyun Tian updated HBASE-21378: --------------------------------- Attachment: 0001-HBASE-21378-hbck2-checkHBCKSupport-blocks-assigning-.patch > [hbck2] checkHBCKSupport blocks assigning hbase:meta or hbase:namespace when > master is not initialized > ------------------------------------------------------------------------------------------------------ > > Key: HBASE-21378 > URL: https://issues.apache.org/jira/browse/HBASE-21378 > Project: HBase > Issue Type: Bug > Components: hbase-operator-tools, hbck2 > Reporter: Jingyun Tian > Assignee: Jingyun Tian > Priority: Major > Attachments: > 0001-HBASE-21378-hbck2-checkHBCKSupport-blocks-assigning-.patch > > > When I encounter the scenario that hbase:namespace is not online. > {code} > 2018-10-24,14:38:16,910 WARN org.apache.hadoop.hbase.master.HMaster: > hbase:namespace,,1529933109115.7e0801c8232b2dc15face54532056076. is NOT > online; state={7e0801c8232b2dc15face54532056076 state=OPEN, ts=1540363033384, > server=c4-hadoop-tst-st30.bj,29100,1540348649479}; > ServerCrashProcedures=false. Master startup cannot progress, in > holding-pattern until region onlined. > {code} > Then I tried to assign it manually, but it throws PleaseHoldException. > {code} > Wed Oct 24 15:26:52 CST 2018, > RpcRetryingCaller{globalStartTime=1540365754487, pause=200, maxAttempts=16}, > org.apache.hadoop.hbase.PleaseHoldException: > org.apache.hadoop.hbase.PleaseHoldException: Master is initializing > at > org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3064) > at > org.apache.hadoop.hbase.master.MasterRpcServices.getClusterStatus(MasterRpcServices.java:934) > at > org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) > at > org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:144) > at > org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3133) > at > org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3125) > at > org.apache.hadoop.hbase.client.HBaseAdmin.getClusterMetrics(HBaseAdmin.java:2161) > at org.apache.hbase.HBCK2.checkHBCKSupport(HBCK2.java:98) > at org.apache.hbase.HBCK2.run(HBCK2.java:364) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) > at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) > at org.apache.hbase.HBCK2.main(HBCK2.java:447) > Caused by: org.apache.hadoop.hbase.PleaseHoldException: > org.apache.hadoop.hbase.PleaseHoldException: Master is initializing > at > org.apache.hadoop.hbase.master.HMaster.checkInitialized(HMaster.java:3064) > at > org.apache.hadoop.hbase.master.MasterRpcServices.getClusterStatus(MasterRpcServices.java:934) > at > org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324) > at > org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.apache.hadoop.hbase.ipc.RemoteWithExtrasException.instantiateException(RemoteWithExtrasException.java:100) > at > org.apache.hadoop.hbase.ipc.RemoteWithExtrasException.unwrapRemoteException(RemoteWithExtrasException.java:90) > at > org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.makeIOExceptionOfException(ProtobufUtil.java:361) > at > org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.handleRemoteException(ProtobufUtil.java:349) > at > org.apache.hadoop.hbase.client.MasterCallable.call(MasterCallable.java:101) > at > org.apache.hadoop.hbase.client.RpcRetryingCallerImpl.callWithRetries(RpcRetryingCallerImpl.java:107) > {code} > Then I check the code and found it is because of checkHBCKSupport(), I assign > hbase:namespace successfully by skipping this check. Thus I think the tool > need an option to skip this check. -- This message was sent by Atlassian JIRA (v7.6.3#76005)