Calling HTable.getTableDescriptor().* on a full cluster takes a long time
-------------------------------------------------------------------------
Key: HBASE-2184
URL: https://issues.apache.org/jira/browse/HBASE-2184
Project: Hadoop HBase
Issue Type: Bug
Affects Versions: 0.21.0
Environment: CentOS 5.4, x86_64
MacOSX 10.6
Reporter: Cristian Ivascu
On a cluster with many tables, and consequently many regions, calling the
getTableDescriptor() methods on a HTable takes a very long time, depending on
the number of regions. For comparison, on a cluster with 7000 regions, getting
a table descriptor ranged between 4 and 36 seconds, even when the queried table
was empty.
The problem seems to lie in the HConnectionManager.getHTableDescriptor()
method, which calls MetaScanner.scan() with an empty START_ROW. This means that
even if we need the descriptor for a single region table, we still need to wait
until the entire META is scanned. There is also a constructor for
MetaScanner.scan() which takes the table name to lookup as a param.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.