Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13394

Failed to recreate a table when quota is enabled

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0, 2.0.0
    • 1.1.0, 2.0.0
    • security

    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

        1. HBASE-13394-branch-1.1.patch
          11 kB
          Ashish Singhi
        2. HBASE-13394-v4.patch
          10 kB
          Matteo Bertozzi
        3. HBASE-13394-v3.patch
          10 kB
          Ashish Singhi
        4. HBASE-13394-v2.patch
          8 kB
          Ashish Singhi
        5. HBASE-13394-v1.patch
          7 kB
          Ashish Singhi
        6. HBASE-13394.patch
          7 kB
          Ashish Singhi

        Issue Links

          Activity

            People

              ashish singhi Ashish Singhi
              sreenivasulureddy Y. SREENIVASULU REDDY
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: