Yes, I'd like to submit a bug-fix PR.
Thank you for your proposal.
2025년 3월 27일 목요일, Denys Kuzmenko <[email protected]>님이 작성:
> Sure, go ahead.
>
> To confirm, you'd like to submit a bug-fix PR as well, right? I started
> looking into it, and I think a quick fix might look like:
>
> private HiveLock lockObject(org.apache.hadoop.hive.metastore.api.Table
> hmsTable) {
> if (hiveLockEnabled(hmsTable, conf)) {
> return new MetastoreLock(
> conf,
> new CachedClientPool(conf, Maps.fromProperties(
> catalogProperties)),
> catalogProperties.getProperty(Catalogs.NAME),
> hmsTable.getDbName(),
> hmsTable.getTableName());
> } else {
> return new NoLock();
> }
> }
>
> private static boolean hiveLockEnabled(org.apache.
> hadoop.hive.metastore.api.Table hmsTable, Configuration conf) {
> if (SessionStateUtil.getQueryState(conf).map(
> QueryState::getHiveOperation)
> .filter(opType -> HiveOperation.ANALYZE_TABLE == opType)
> .isPresent()) {
> return false;
> }
>
> if
> (hmsTable.getParameters().containsKey(TableProperties.HIVE_LOCK_ENABLED))
> {
> // We know that the property is set, so default value will not be
> used,
> return Boolean.parseBoolean(
>
> hmsTable.getParameters().getOrDefault(TableProperties.HIVE_LOCK_ENABLED,
> "false"));
> }
>
> return conf.getBoolean(
> ConfigProperties.LOCK_HIVE_ENABLED, TableProperties.HIVE_LOCK_
> ENABLED_DEFAULT);
> }
>