hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Feng Honghua (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-10595) HBaseAdmin.getTableDescriptor can wrongly get the previous table's TableDescriptor even after the table dir in hdfs is removed
Date Sun, 23 Feb 2014 04:19:19 GMT
Feng Honghua created HBASE-10595:
------------------------------------

             Summary: 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


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)

Mime
View raw message