This is an automated email from the ASF dual-hosted git repository.
sivabalan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git
The following commit(s) were added to refs/heads/master by this push:
new ceb402564d [MINOR] Skip loading last completed txn for single writer
(#6660)
ceb402564d is described below
commit ceb402564de8fa83acc4f23792b9a08576b56f99
Author: Yuwei XIAO <[email protected]>
AuthorDate: Tue Oct 25 07:24:09 2022 +0800
[MINOR] Skip loading last completed txn for single writer (#6660)
Co-authored-by: sivabalan <[email protected]>
---
.../src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java | 3 ++-
.../java/org/apache/hudi/client/transaction/TransactionManager.java | 3 +++
.../org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java | 3 ++-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
index 146889c8db..4a3f6bd311 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/BaseHoodieWriteClient.java
@@ -492,7 +492,8 @@ public abstract class BaseHoodieWriteClient<T extends
HoodieRecordPayload, I, K,
public void preWrite(String instantTime, WriteOperationType
writeOperationType,
HoodieTableMetaClient metaClient) {
setOperationType(writeOperationType);
- this.lastCompletedTxnAndMetadata =
TransactionUtils.getLastCompletedTxnInstantAndMetadata(metaClient);
+ this.lastCompletedTxnAndMetadata =
txnManager.isOptimisticConcurrencyControlEnabled()
+ ? TransactionUtils.getLastCompletedTxnInstantAndMetadata(metaClient) :
Option.empty();
this.pendingInflightAndRequestedInstants =
TransactionUtils.getInflightAndRequestedInstants(metaClient);
this.pendingInflightAndRequestedInstants.remove(instantTime);
if (null == this.asyncCleanerService) {
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java
index e9329fece6..bcf8ef6ea5 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/client/transaction/TransactionManager.java
@@ -97,4 +97,7 @@ public class TransactionManager implements Serializable {
return currentTxnOwnerInstant;
}
+ public boolean isOptimisticConcurrencyControlEnabled() {
+ return isOptimisticConcurrencyControlEnabled;
+ }
}
diff --git
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
index 1227c444f2..5f406d8920 100644
---
a/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
+++
b/hudi-client/hudi-client-common/src/main/java/org/apache/hudi/table/action/commit/BaseCommitActionExecutor.java
@@ -91,7 +91,8 @@ public abstract class BaseCommitActionExecutor<T extends
HoodieRecordPayload, I,
this.taskContextSupplier = context.getTaskContextSupplier();
// TODO : Remove this once we refactor and move out autoCommit method from
here, since the TxnManager is held in {@link BaseHoodieWriteClient}.
this.txnManager = new TransactionManager(config,
table.getMetaClient().getFs());
- this.lastCompletedTxn =
TransactionUtils.getLastCompletedTxnInstantAndMetadata(table.getMetaClient());
+ this.lastCompletedTxn = txnManager.isOptimisticConcurrencyControlEnabled()
+ ?
TransactionUtils.getLastCompletedTxnInstantAndMetadata(table.getMetaClient()) :
Option.empty();
this.pendingInflightAndRequestedInstants =
TransactionUtils.getInflightAndRequestedInstants(table.getMetaClient());
this.pendingInflightAndRequestedInstants.remove(instantTime);
if (!table.getStorageLayout().writeOperationSupported(operationType)) {