[ https://issues.apache.org/jira/browse/HBASE-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stack updated HBASE-2184: ------------------------- Resolution: Fixed Fix Version/s: 0.21.0 Hadoop Flags: [Reviewed] Status: Resolved (was: Patch Available) All tests passed for me. Patch looks good. Thanks Cristian. Committed to TRUNK. > 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 > Fix For: 0.21.0 > > Attachments: HBASE_2184_0.21.0.patch > > > 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.