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: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For additional commands, e-mail: gitbox-h...@hive.apache.org