hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Esteban Gutierrez (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-12219) Cache more efficiently getAll() and get() in FSTableDescriptors
Date Tue, 04 Nov 2014 11:06:35 GMT

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

Esteban Gutierrez updated HBASE-12219:
    Attachment: HBASE-12219-0.98.v1.addendum.patch

The issue was a mismatch how truncate table should work after HBASE-7767. Both HBASE-8332
and HBASE-12142 use {{tempdir}} instead of {{tempTableDir}}:

 Path tempTableDir = FSUtils.getTableDir(tempdir, this.tableName);
      new FSTableDescriptors(server.getConfiguration())
        .createTableDescriptorForTableDirectory(tempTableDir, getTableDescriptor(), false);

Which is the correct behavior from HBASE-7767 instead of FSTD. createTableDescriptorForTableDirectory(tempdir).

Thanks for [~mbertozzi] for the brainstorming to understand where this issue came from.

> Cache more efficiently getAll() and get() in FSTableDescriptors
> ---------------------------------------------------------------
>                 Key: HBASE-12219
>                 URL: https://issues.apache.org/jira/browse/HBASE-12219
>             Project: HBase
>          Issue Type: Bug
>          Components: master
>    Affects Versions: 0.94.24, 0.99.1,
>            Reporter: Esteban Gutierrez
>            Assignee: Esteban Gutierrez
>              Labels: scalability
>             Fix For: 2.0.0, 0.98.8, 0.99.2
>         Attachments: HBASE-12219-0.98.patch, HBASE-12219-0.98.v1.addendum.patch, HBASE-12219-0.98.v1.patch,
HBASE-12219-0.99.addendum.patch, HBASE-12219-0.99.patch, HBASE-12219-0.99.v1.patch, HBASE-12219-v1.patch,
HBASE-12219-v1.patch, HBASE-12219.v0.txt, HBASE-12219.v2.patch, HBASE-12219.v3.patch, list.png
> Currently table descriptors and tables are cached once they are accessed for the first
time. Next calls to the master only require a trip to HDFS to lookup the modified time in
order to reload the table descriptors if modified. However in clusters with a large number
of tables or concurrent clients and this can be too aggressive to HDFS and the master causing
contention to process other requests. A simple solution is to have a TTL based cached for
FSTableDescriptors#getAll() and  FSTableDescriptors#TableDescriptorAndModtime() that can allow
the master to process those calls faster without causing contention without having to perform
a trip to HDFS for every call. to listtables() or getTableDescriptor()

This message was sent by Atlassian JIRA

View raw message