Return-Path: X-Original-To: apmail-hbase-issues-archive@www.apache.org Delivered-To: apmail-hbase-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B882A18990 for ; Fri, 24 Apr 2015 08:22:38 +0000 (UTC) Received: (qmail 42977 invoked by uid 500); 24 Apr 2015 08:22:38 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 42926 invoked by uid 500); 24 Apr 2015 08:22:38 -0000 Mailing-List: contact issues-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list issues@hbase.apache.org Received: (qmail 42913 invoked by uid 99); 24 Apr 2015 08:22:38 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 24 Apr 2015 08:22:38 +0000 Date: Fri, 24 Apr 2015 08:22:38 +0000 (UTC) From: "Anoop Sam John (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-13394) Failed to recreate a table when quota is enabled MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HBASE-13394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14510637#comment-14510637 ] Anoop Sam John commented on HBASE-13394: ---------------------------------------- May be first of all we can see how/whether the new proc V2 way of table creation helps us. My Q is this Ashish Here you are catching issues in a pre hook and some check points and remove the entry from cache. But the table is still not created. It can so happen that the async table creation op can fail and we fail the table create op at user's console. Then the user try to do it once more. But it will never be successful ad the quota cache says table already exists. So how we can solve that also? > Failed to recreate a table when quota is enabled > ------------------------------------------------ > > Key: HBASE-13394 > URL: https://issues.apache.org/jira/browse/HBASE-13394 > Project: HBase > Issue Type: Bug > Components: security > Affects Versions: 2.0.0, 1.1.0 > Reporter: Y. SREENIVASULU REDDY > Assignee: Ashish Singhi > Labels: quota > Fix For: 2.0.0, 1.1.0 > > Attachments: HBASE-13394-v1.patch, HBASE-13394.patch > > > 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. > {noformat} > 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) > {noformat} > P.S: Line numbers may not be in sync. -- This message was sent by Atlassian JIRA (v6.3.4#6332)