Description
Steps to reproduce.
Enable quota by setting hbase.quota.enabled to true
Create a table say with name 't1', make sure the creation fails after adding this table entry into namespace quota cache.
Now correct the failure and recreate the table 't1'. It fails with below exception.
2015-04-02 14:23:53,729 | ERROR | FifoRpcScheduler.handler1-thread-23 | Unexpected throwable object | org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2154) java.lang.IllegalStateException: Table already in the cache t1 at org.apache.hadoop.hbase.namespace.NamespaceTableAndRegionInfo.addTable(NamespaceTableAndRegionInfo.java:97) at org.apache.hadoop.hbase.namespace.NamespaceStateManager.addTable(NamespaceStateManager.java:171) at org.apache.hadoop.hbase.namespace.NamespaceStateManager.checkAndUpdateNamespaceTableCount(NamespaceStateManager.java:147) at org.apache.hadoop.hbase.namespace.NamespaceAuditor.checkQuotaToCreateTable(NamespaceAuditor.java:76) at org.apache.hadoop.hbase.quotas.MasterQuotaManager.checkNamespaceTableAndRegionQuota(MasterQuotaManager.java:344) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1781) at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1818) at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:42273) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2116) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108) at org.apache.hadoop.hbase.ipc.FifoRpcScheduler$1.run(FifoRpcScheduler.java:74) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
P.S: Line numbers may not be in sync.
Attachments
Attachments
Issue Links
- is broken by
-
HBASE-8410 Basic quota support for namespaces
- Closed