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 DDA9810A9D for ; Sun, 23 Feb 2014 09:02:21 +0000 (UTC) Received: (qmail 61022 invoked by uid 500); 23 Feb 2014 09:02:21 -0000 Delivered-To: apmail-hbase-issues-archive@hbase.apache.org Received: (qmail 60734 invoked by uid 500); 23 Feb 2014 09:02:20 -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 60726 invoked by uid 99); 23 Feb 2014 09:02:19 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 23 Feb 2014 09:02:19 +0000 Date: Sun, 23 Feb 2014 09:02:19 +0000 (UTC) From: "Feng Honghua (JIRA)" To: issues@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HBASE-10595) HBaseAdmin.getTableDescriptor can wrongly get the previous table's TableDescriptor even after the table dir in hdfs is removed 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-10595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909716#comment-13909716 ] Feng Honghua commented on HBASE-10595: -------------------------------------- TestMasterObserver fails when I run 'mvn test -P runAllTests', but it never fails when I run it separately many times(10+), any clue? > HBaseAdmin.getTableDescriptor can wrongly get the previous table's TableDescriptor even after the table dir in hdfs is removed > ------------------------------------------------------------------------------------------------------------------------------ > > Key: HBASE-10595 > URL: https://issues.apache.org/jira/browse/HBASE-10595 > Project: HBase > Issue Type: Bug > Components: master, util > Reporter: Feng Honghua > Assignee: Feng Honghua > Attachments: HBASE-10595-trunk_v1.patch > > > When a table dir (in hdfs) is removed(by outside), HMaster will still return the cached TableDescriptor to client for getTableDescriptor request. > On the contrary, HBaseAdmin.listTables() is handled correctly in current implementation, for a table whose table dir in hdfs is removed by outside, getTableDescriptor can still retrieve back a valid (old) table descriptor, while listTables says it doesn't exist, this is inconsistent > The reason for this bug is because HMaster (via FSTableDescriptors) doesn't check if the table dir exists for getTableDescriptor() request, (while it lists all existing table dirs(not firstly respects cache) and returns accordingly for listTables() request) > When a table is deleted via deleteTable, the cache will be cleared after the table dir and tableInfo file is removed, listTables/getTableDescriptor inconsistency should be transient(though still exists, when table dir is removed while cache is not cleared) and harder to expose -- This message was sent by Atlassian JIRA (v6.1.5#6160)