[ https://issues.apache.org/jira/browse/IMPALA-12768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Smith updated IMPALA-12768: ----------------------------------- Description: Iceberg tables are currently prone to leaving a permanent lock in HMS if Impala shuts down while the lock is held. This was observed intermittently during {{sys.impala_query_log}} testing and noted in https://github.com/apache/iceberg/issues/2301. It's a short lock, so it's fairly rare, but could happen and the only recourse is to delete rows from HIVE_LOCKS in HMS's database. https://github.com/apache/iceberg/pull/6570 introduced an alternative update mechanism in Iceberg 1.3 that depends on HIVE-26682. [Iceberg documentation|https://iceberg.apache.org/docs/latest/configuration/#hadoop-configuration] says to set the property "iceberg.engine.hive.lock-enabled {noformat} Warn: Setting iceberg.engine.hive.lock-enabled=false will cause HiveCatalog to commit to tables without using Hive locks. This should only be set to false if all following conditions are met: * HIVE-26882 is available on the Hive Metastore server * All other HiveCatalogs committing to tables that this HiveCatalog commits to are also on Iceberg 1.3 or later * All other HiveCatalogs committing to tables that this HiveCatalog commits to have also disabled Hive locks on commit. Failing to ensure these conditions risks corrupting the table. {noformat} Setting this property to false uses a new Hive atomic operation and avoids taking a lock, so it can't get stuck if Impala shuts down at the wrong time. was: [Iceberg documentation|https://iceberg.apache.org/docs/latest/configuration/#hadoop-configuration] says to set the property "iceberg.engine.hive.lock-enabled {noformat} Warn: Setting iceberg.engine.hive.lock-enabled=false will cause HiveCatalog to commit to tables without using Hive locks. This should only be set to false if all following conditions are met: * HIVE-26882 is available on the Hive Metastore server * All other HiveCatalogs committing to tables that this HiveCatalog commits to are also on Iceberg 1.3 or later * All other HiveCatalogs committing to tables that this HiveCatalog commits to have also disabled Hive locks on commit. Failing to ensure these conditions risks corrupting the table. {noformat} Setting this property to false reduces the possibility of stuck table locks where the lock in HMS does not get released because the Impala process that took the lock was ungracefully killed before it released the lock. > Set iceberg.engine.hive.lock-enabled To false By Default > --------------------------------------------------------- > > Key: IMPALA-12768 > URL: https://issues.apache.org/jira/browse/IMPALA-12768 > Project: IMPALA > Issue Type: Improvement > Components: be > Reporter: Jason Fehr > Priority: Major > Labels: backend, iceberg, impala > > Iceberg tables are currently prone to leaving a permanent lock in HMS if > Impala shuts down while the lock is held. This was observed intermittently > during {{sys.impala_query_log}} testing and noted in > https://github.com/apache/iceberg/issues/2301. It's a short lock, so it's > fairly rare, but could happen and the only recourse is to delete rows from > HIVE_LOCKS in HMS's database. > https://github.com/apache/iceberg/pull/6570 introduced an alternative update > mechanism in Iceberg 1.3 that depends on HIVE-26682. [Iceberg > documentation|https://iceberg.apache.org/docs/latest/configuration/#hadoop-configuration] > says to set the property "iceberg.engine.hive.lock-enabled > {noformat} > Warn: Setting iceberg.engine.hive.lock-enabled=false will cause HiveCatalog > to commit to tables without using Hive locks. This should only be set to > false if all following conditions are met: > * HIVE-26882 is available on the Hive Metastore server > * All other HiveCatalogs committing to tables that this HiveCatalog commits > to are also on Iceberg 1.3 or later > * All other HiveCatalogs committing to tables that this HiveCatalog commits > to have also disabled Hive locks on commit. > Failing to ensure these conditions risks corrupting the table. > {noformat} > Setting this property to false uses a new Hive atomic operation and avoids > taking a lock, so it can't get stuck if Impala shuts down at the wrong time. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org