[
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)