[
https://issues.apache.org/jira/browse/HIVE-27122?focusedWorklogId=849512&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-849512
]
ASF GitHub Bot logged work on HIVE-27122:
-----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Mar/23 09:39
Start Date: 07/Mar/23 09:39
Worklog Time Spent: 10m
Work Description: SourabhBadhya commented on code in PR #4098:
URL: https://github.com/apache/hive/pull/4098#discussion_r1127595407
##########
ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/handler/TaskHandler.java:
##########
@@ -58,12 +55,7 @@ public abstract class TaskHandler {
public abstract List<Runnable> getTasks() throws MetaException;
protected Table resolveTable(String dbName, String tableName) throws
MetaException {
- try {
- return getMSForConf(conf).getTable(getDefaultCatalog(conf), dbName,
tableName);
- } catch (MetaException e) {
- LOG.error("Unable to find table {}.{}, {}", dbName, tableName,
e.getMessage());
- throw e;
- }
+ return CompactorUtil.resolveTable(conf, dbName, tableName);
Review Comment:
I think it's better to keep a utility method for fetching Table objects in
the generic class TaskHandler. Provides an easy way to test things out.
The cache is created in MetastoreCompactorThread and it's passed around to
all required TaskHandlers so that it can be used.
See this and its usages
-https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/txn/compactor/MetadataCache.java
Issue Time Tracking
-------------------
Worklog Id: (was: 849512)
Time Spent: 1h 50m (was: 1h 40m)
> Use Caffeine for caching metadata objects in Compactor threads
> --------------------------------------------------------------
>
> Key: HIVE-27122
> URL: https://issues.apache.org/jira/browse/HIVE-27122
> Project: Hive
> Issue Type: Improvement
> Reporter: Sourabh Badhya
> Assignee: Sourabh Badhya
> Priority: Major
> Labels: pull-request-available
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> Currently, compactor threads make use of Guava package to cache metadata
> objects like database/table objects. We should consider using Caffeine
> package since it provides more control on the cache. It is also observed that
> cache created from Caffeine package is more performant than cache created
> from Guava package.
> Some benchmarks comparing Caffeine package vs Guava package -
> [https://github.com/ben-manes/caffeine/wiki/Benchmarks]
--
This message was sent by Atlassian Jira
(v8.20.10#820010)