You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Cristian Ivascu (JIRA)" <ji...@apache.org> on 2010/02/04 23:09:28 UTC

[jira] Updated: (HBASE-2184) Calling HTable.getTableDescriptor().* on a full cluster takes a long time

     [ https://issues.apache.org/jira/browse/HBASE-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cristian Ivascu updated HBASE-2184:
-----------------------------------

    Attachment: HBASE_2184_0.21.0.patch

Attached proposed fix - the HConnectionManager.getHTableDescriptor(tableName) now calls MetaScanner.scan(*,*,tableName).

Observed results: time dropped from 5 seconds to 0.112 sec for a describe 'tableName' in the shell on the busy cluster

> 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
>         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.