Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 8102F1996D for ; Wed, 16 Mar 2016 04:24:34 +0000 (UTC) Received: (qmail 1759 invoked by uid 500); 16 Mar 2016 04:24:33 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 1627 invoked by uid 500); 16 Mar 2016 04:24:33 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 1600 invoked by uid 99); 16 Mar 2016 04:24:33 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Mar 2016 04:24:33 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 80C422C1F56 for ; Wed, 16 Mar 2016 04:24:33 +0000 (UTC) Date: Wed, 16 Mar 2016 04:24:33 +0000 (UTC) From: "Ted Yu (JIRA)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Reopened] (HBASE-15456) CreateTableProcedure/ModifyTableProcedure needs to fail when there is no family in table descriptor 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-15456?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ted Yu reopened HBASE-15456: ---------------------------- > CreateTableProcedure/ModifyTableProcedure needs to fail when there is no family in table descriptor > --------------------------------------------------------------------------------------------------- > > Key: HBASE-15456 > URL: https://issues.apache.org/jira/browse/HBASE-15456 > Project: HBase > Issue Type: Improvement > Components: master > Affects Versions: 2.0.0 > Reporter: huaxiang sun > Assignee: huaxiang sun > Priority: Minor > Fix For: 2.0.0, 1.3.0, 1.4.0 > > Attachments: HBASE-15456-v001.patch, HBASE-15456-v002.patch, HBASE-15456-v002.patch, HBASE-15456-v003.patch > > > If there is only one family in the table, DeleteColumnFamilyProcedure will fail. > Currently, when hbase.table.sanity.checks is set to false, hbase master logs a warning and CreateTableProcedure/ModifyTableProcedure will succeed. > This behavior is not consistent with DeleteColumnFamilyProcedure's. > Another point, before HBASE-13145, PeriodicMemstoreFlusher will run into the following exception. lastStoreFlushTimeMap is populated for families, if there is no family in the table, there is no entry in lastStoreFlushTimeMap. > {code} > 16/02/01 11:14:26 ERROR regionserver.HRegionServer$PeriodicMemstoreFlusher: Caught exception > java.util.NoSuchElementException > at java.util.concurrent.ConcurrentHashMap$HashIterator.nextEntry(ConcurrentHashMap.java:1354) > at java.util.concurrent.ConcurrentHashMap$ValueIterator.next(ConcurrentHashMap.java:1384) > at java.util.Collections.min(Collections.java:628) > at org.apache.hadoop.hbase.regionserver.HRegion.getEarliestFlushTimeForAllStores(HRegion.java:1572) > at org.apache.hadoop.hbase.regionserver.HRegion.shouldFlush(HRegion.java:1904) > at org.apache.hadoop.hbase.regionserver.HRegionServer$PeriodicMemstoreFlusher.chore(HRegionServer.java:1509) > at org.apache.hadoop.hbase.Chore.run(Chore.java:87) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)