[ 
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
                HBASE-12219-0.99.v1.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}}:

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

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, 0.98.6.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
(v6.3.4#6332)

Reply via email to