diff --git a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveMetastoreBasedLockProvider.java b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveMetastoreBasedLockProvider.java index 593adc28f..9b5a1b04d 100644 --- a/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveMetastoreBasedLockProvider.java +++ b/hudi-sync/hudi-hive-sync/src/main/java/org/apache/hudi/hive/HiveMetastoreBasedLockProvider.java @@ -184,18 +184,13 @@ public class HiveMetastoreBasedLockProvider implements LockProvider hiveClient.lock(lockRequestFinal)) .get(time, unit); } catch (InterruptedException | TimeoutException e) { - if (this.lock != null && this.lock.getState() == LockState.ACQUIRED) { - return; - } else if (lockRequest != null) { + if (this.lock == null || this.lock.getState() != LockState.ACQUIRED) { LockResponse lockResponse = this.hiveClient.checkLock(lockRequest.getTxnid()); if (lockResponse.getState() == LockState.ACQUIRED) { this.lock = lockResponse; - return; } else { throw e; } - } else { - throw e; } } }