deniskuzZ commented on code in PR #3822:
URL: https://github.com/apache/hive/pull/3822#discussion_r1085219185
##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/HMSMetricsListener.java:
##########
@@ -98,29 +100,39 @@ public void onAddPartition(AddPartitionEvent
partitionEvent) throws MetaExceptio
@Override
public void onAllocWriteId(AllocWriteIdEvent allocWriteIdEvent, Connection
dbConn, SQLGenerator sqlGenerator) throws MetaException {
if (MetastoreConf.getBoolVar(getConf(),
MetastoreConf.ConfVars.METASTORE_ACIDMETRICS_EXT_ON)) {
- Table table = getTable(allocWriteIdEvent);
- // In the case of CTAS, the table is created after write ids are
allocated, so we'll skip metrics collection.
- if (table != null &&
MetaStoreUtils.isNoAutoCompactSet(table.getParameters())) {
- int noAutoCompactSet =
-
Metrics.getOrCreateGauge(MetricsConstants.WRITES_TO_DISABLED_COMPACTION_TABLE).incrementAndGet();
- if (noAutoCompactSet >=
- MetastoreConf.getIntVar(getConf(),
-
MetastoreConf.ConfVars.COMPACTOR_NUMBER_OF_DISABLED_COMPACTION_TABLES_THRESHOLD))
{
- LOGGER.warn("There has been a write to table " + table.getDbName() +
"." + table.getTableName() +
- " where auto-compaction is disabled (tblproperties
(\"no_auto_compact\"=\"true\")).");
+ if (isNoAutoCompactSet(allocWriteIdEvent)) {
+ int numOfWritesToDisabledCompactionTable =
Metrics.getOrCreateGauge(MetricsConstants.WRITES_TO_DISABLED_COMPACTION_TABLE).incrementAndGet();
+ if (numOfWritesToDisabledCompactionTable >=
MetastoreConf.getIntVar(getConf(),
MetastoreConf.ConfVars.COMPACTOR_NUMBER_OF_DISABLED_COMPACTION_TABLES_THRESHOLD))
{
+ LOGGER.warn(
+ "There has been a write to table " +
allocWriteIdEvent.getDbName() + "." + allocWriteIdEvent.getTableName() + "
where auto-compaction is disabled \"no_auto_compact\"=\"true\".");
}
}
}
}
- private Table getTable(AllocWriteIdEvent allocWriteIdEvent) throws
MetaException {
+ private Boolean isNoAutoCompactSet(AllocWriteIdEvent allocWriteIdEvent)
throws MetaException {
String catalog = MetaStoreUtils.getDefaultCatalog(getConf());
String dbName = allocWriteIdEvent.getDbName();
String tableName = allocWriteIdEvent.getTableName();
- if (allocWriteIdEvent.getIHMSHandler() != null) {
- return allocWriteIdEvent.getIHMSHandler().getMS().getTable(catalog,
dbName, tableName);
- } else {
- return HMSHandler.getMSForConf(getConf()).getTable(catalog, dbName,
tableName);
+ Map<String, String> dbParameters;
+ Table table;
+ try {
Review Comment:
try scope is unclear, maybe:
````
private Boolean isNoAutoCompactSet(AllocWriteIdEvent allocWriteIdEvent)
throws MetaException {
String catalog = MetaStoreUtils.getDefaultCatalog(getConf());
String dbName = allocWriteIdEvent.getDbName();
String tableName = allocWriteIdEvent.getTableName();
RawStore rawStore;
if (allocWriteIdEvent.getIHMSHandler() != null) {
rawStore = allocWriteIdEvent.getIHMSHandler().getMS();
} else {
rawStore = HMSHandler.getMSForConf(getConf());
}
Map<String, String> dbParameters;
try {
dbParameters = rawStore.getDatabase(catalog, dbName).getParameters();
} catch (NoSuchObjectException e) {
LOGGER.error("Unable to find database " + dbName + ", " +
e.getMessage());
throw new MetaException(String.valueOf(e));
}
Table table = rawStore.getTable(catalog, dbName, tableName);
// In the case of CTAS, the table is created after write ids are
allocated, so we'll skip metrics collection.
if (table != null) {
return MetaStoreUtils.isNoAutoCompactSet(dbParameters,
table.getParameters());
}
return false;
}
````
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]