From e60a7203d1d61e562b92d3a180353a8a17e523ff Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Mon, 9 Dec 2024 17:33:11 +0800
Subject: [PATCH 01/12] [core] Introduce max-timeout for commit retry avoid
long time loop
---
.../generated/core_configuration.html | 6 ++++
.../org/apache/paimon/AbstractFileStore.java | 3 +-
.../paimon/operation/FileStoreCommitImpl.java | 28 ++++++++++++++++++-
tools/maven/checkstyle.xml | 2 +-
4 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/docs/layouts/shortcodes/generated/core_configuration.html b/docs/layouts/shortcodes/generated/core_configuration.html
index 7d6bacccb026..33dc6c3f08f8 100644
--- a/docs/layouts/shortcodes/generated/core_configuration.html
+++ b/docs/layouts/shortcodes/generated/core_configuration.html
@@ -134,6 +134,12 @@
Integer |
Maximum number of retries when commit failed. |
+
+ commit.max-timeout |
+ (none) |
+ Duration |
+ Max timeout duration of retry when commit failed. |
+
commit.user-prefix |
(none) |
diff --git a/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java b/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
index 54f554aa46d3..5a49dc7f5e20 100644
--- a/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
+++ b/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
@@ -237,7 +237,8 @@ public FileStoreCommitImpl newCommit(String commitUser, List cal
bucketMode(),
options.scanManifestParallelism(),
callbacks,
- options.commitMaxRetries());
+ options.commitMaxRetries(),
+ options.commitMaxTimeout());
}
@Override
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index 43faadc4d8ec..f588e0d100f8 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -63,6 +63,7 @@
import javax.annotation.Nullable;
+import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -134,6 +135,7 @@ public class FileStoreCommitImpl implements FileStoreCommit {
private final List commitCallbacks;
private final StatsFileHandler statsFileHandler;
private final BucketMode bucketMode;
+ private final Optional commitMaxTimeout;
private final int commitMaxRetries;
@Nullable private Lock lock;
@@ -166,7 +168,8 @@ public FileStoreCommitImpl(
BucketMode bucketMode,
@Nullable Integer manifestReadParallelism,
List commitCallbacks,
- int commitMaxRetries) {
+ int commitMaxRetries,
+ Optional commitMaxTimeout) {
this.fileIO = fileIO;
this.schemaManager = schemaManager;
this.tableName = tableName;
@@ -193,6 +196,7 @@ public FileStoreCommitImpl(
this.manifestReadParallelism = manifestReadParallelism;
this.commitCallbacks = commitCallbacks;
this.commitMaxRetries = commitMaxRetries;
+ this.commitMaxTimeout = commitMaxTimeout;
this.lock = null;
this.ignoreEmptyCommit = true;
@@ -723,6 +727,7 @@ private int tryCommit(
@Nullable String statsFileName) {
int retryCount = 0;
RetryResult retryResult = null;
+ long startMillis = System.currentTimeMillis();
while (true) {
Snapshot latestSnapshot = snapshotManager.latestSnapshot();
CommitResult result =
@@ -754,6 +759,16 @@ private int tryCommit(
commitMaxRetries));
}
retryCount++;
+
+ if (commitMaxTimeout.isPresent()
+ && System.currentTimeMillis() - startMillis
+ > commitMaxTimeout.get().toMillis()) {
+ retryResult.cleanAll();
+ throw new RuntimeException(
+ String.format(
+ "Commit failed after %s millis, there maybe exist commit conflicts between multiple jobs.",
+ commitMaxTimeout.get().toMillis()));
+ }
}
return retryCount + 1;
}
@@ -1052,6 +1067,7 @@ CommitResult tryCommitOnce(
public void compactManifest() {
int retryCount = 0;
ManifestCompactResult retryResult = null;
+ long startMillis = System.currentTimeMillis();
while (true) {
retryResult = compactManifest(retryResult);
if (retryResult.isSuccess()) {
@@ -1066,6 +1082,16 @@ public void compactManifest() {
commitMaxRetries));
}
retryCount++;
+
+ if (commitMaxTimeout.isPresent()
+ && System.currentTimeMillis() - startMillis
+ > commitMaxTimeout.get().toMillis()) {
+ retryResult.cleanAll();
+ throw new RuntimeException(
+ String.format(
+ "Commit failed after %s millis, there maybe exist commit conflicts between multiple jobs.",
+ commitMaxTimeout.get().toMillis()));
+ }
}
}
diff --git a/tools/maven/checkstyle.xml b/tools/maven/checkstyle.xml
index d5db52cb03df..80e785353526 100644
--- a/tools/maven/checkstyle.xml
+++ b/tools/maven/checkstyle.xml
@@ -74,7 +74,7 @@ This file is based on the checkstyle file of Apache Beam.
-->
-
+
From a0479982ecbe0e560a69f560747d27b93678fae4 Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Mon, 9 Dec 2024 17:38:59 +0800
Subject: [PATCH 02/12] fix style
---
.../java/org/apache/paimon/operation/FileStoreCommitImpl.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index f588e0d100f8..885d2a126baf 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -1085,7 +1085,7 @@ public void compactManifest() {
if (commitMaxTimeout.isPresent()
&& System.currentTimeMillis() - startMillis
- > commitMaxTimeout.get().toMillis()) {
+ > commitMaxTimeout.get().toMillis()) {
retryResult.cleanAll();
throw new RuntimeException(
String.format(
From 416a2d09102e42be2a2d5e30979eb7a63997a105 Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Mon, 9 Dec 2024 17:51:44 +0800
Subject: [PATCH 03/12] fix
---
.../src/main/java/org/apache/paimon/CoreOptions.java | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index 8aebf2f289a0..eb55b327220b 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -527,6 +527,12 @@ public class CoreOptions implements Serializable {
.defaultValue(false)
.withDescription("Whether to force a compaction before commit.");
+ public static final ConfigOption COMMIT_MAX_TIMEOUT =
+ key("commit.max-timeout")
+ .durationType()
+ .noDefaultValue()
+ .withDescription("Max timeout duration of retry when commit failed.");
+
public static final ConfigOption COMMIT_MAX_RETRIES =
key("commit.max-retries")
.intType()
@@ -1929,6 +1935,10 @@ public boolean commitForceCompact() {
return options.get(COMMIT_FORCE_COMPACT);
}
+ public Optional commitMaxTimeout() {
+ return options.getOptional(COMMIT_MAX_TIMEOUT);
+ }
+
public int commitMaxRetries() {
return options.get(COMMIT_MAX_RETRIES);
}
From 38b13c70edf60d610e088e4e28f44b89475fb825 Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 11:00:10 +0800
Subject: [PATCH 04/12] fix
---
.../java/org/apache/paimon/CoreOptions.java | 4 +-
.../paimon/operation/FileStoreCommitImpl.java | 41 +++++++------------
2 files changed, 16 insertions(+), 29 deletions(-)
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index eb55b327220b..74fe1c17ae79 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -1935,8 +1935,8 @@ public boolean commitForceCompact() {
return options.get(COMMIT_FORCE_COMPACT);
}
- public Optional commitMaxTimeout() {
- return options.getOptional(COMMIT_MAX_TIMEOUT);
+ public Duration commitMaxTimeout() {
+ return options.get(COMMIT_MAX_TIMEOUT);
}
public int commitMaxRetries() {
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index 885d2a126baf..a8673131a157 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -135,7 +135,7 @@ public class FileStoreCommitImpl implements FileStoreCommit {
private final List commitCallbacks;
private final StatsFileHandler statsFileHandler;
private final BucketMode bucketMode;
- private final Optional commitMaxTimeout;
+ @Nullable private Duration commitMaxTimeout;
private final int commitMaxRetries;
@Nullable private Lock lock;
@@ -169,7 +169,7 @@ public FileStoreCommitImpl(
@Nullable Integer manifestReadParallelism,
List commitCallbacks,
int commitMaxRetries,
- Optional commitMaxTimeout) {
+ @Nullable Duration commitMaxTimeout) {
this.fileIO = fileIO;
this.schemaManager = schemaManager;
this.tableName = tableName;
@@ -750,24 +750,17 @@ private int tryCommit(
}
retryResult = (RetryResult) result;
-
- if (retryCount >= commitMaxRetries) {
- retryResult.cleanAll();
- throw new RuntimeException(
- String.format(
- "Commit failed after %s retries, there maybe exist commit conflicts between multiple jobs.",
- commitMaxRetries));
- }
retryCount++;
- if (commitMaxTimeout.isPresent()
- && System.currentTimeMillis() - startMillis
- > commitMaxTimeout.get().toMillis()) {
+ if ((commitMaxTimeout != null
+ && System.currentTimeMillis() - startMillis
+ > commitMaxTimeout.toMillis())
+ || retryCount >= commitMaxRetries) {
retryResult.cleanAll();
throw new RuntimeException(
String.format(
- "Commit failed after %s millis, there maybe exist commit conflicts between multiple jobs.",
- commitMaxTimeout.get().toMillis()));
+ "Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
+ commitMaxTimeout.toMillis(), retryCount));
}
}
return retryCount + 1;
@@ -1074,23 +1067,17 @@ public void compactManifest() {
break;
}
- if (retryCount >= commitMaxRetries) {
- retryResult.cleanAll();
- throw new RuntimeException(
- String.format(
- "Commit compact manifest failed after %s retries, there maybe exist commit conflicts between multiple jobs.",
- commitMaxRetries));
- }
retryCount++;
- if (commitMaxTimeout.isPresent()
- && System.currentTimeMillis() - startMillis
- > commitMaxTimeout.get().toMillis()) {
+ if ((commitMaxTimeout != null
+ && System.currentTimeMillis() - startMillis
+ > commitMaxTimeout.toMillis())
+ || retryCount >= commitMaxRetries) {
retryResult.cleanAll();
throw new RuntimeException(
String.format(
- "Commit failed after %s millis, there maybe exist commit conflicts between multiple jobs.",
- commitMaxTimeout.get().toMillis()));
+ "Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
+ commitMaxTimeout.toMillis(), retryCount));
}
}
}
From ae475efa01405d62dea0cb5f0ada0977f0b6166b Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 11:03:17 +0800
Subject: [PATCH 05/12] fix
---
.../org/apache/paimon/operation/FileStoreCommitImpl.java | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index a8673131a157..f894494d0c06 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -750,7 +750,7 @@ private int tryCommit(
}
retryResult = (RetryResult) result;
- retryCount++;
+
if ((commitMaxTimeout != null
&& System.currentTimeMillis() - startMillis
@@ -762,6 +762,8 @@ private int tryCommit(
"Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
commitMaxTimeout.toMillis(), retryCount));
}
+
+ retryCount++;
}
return retryCount + 1;
}
@@ -1067,7 +1069,7 @@ public void compactManifest() {
break;
}
- retryCount++;
+
if ((commitMaxTimeout != null
&& System.currentTimeMillis() - startMillis
@@ -1079,6 +1081,8 @@ public void compactManifest() {
"Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
commitMaxTimeout.toMillis(), retryCount));
}
+
+ retryCount++;
}
}
From ba648c7e5a5923852958c2d9b97506c14a87cd1f Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 11:06:30 +0800
Subject: [PATCH 06/12] fix
---
.../org/apache/paimon/operation/FileStoreCommitImpl.java | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index f894494d0c06..f61d0494366b 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -751,7 +751,6 @@ private int tryCommit(
retryResult = (RetryResult) result;
-
if ((commitMaxTimeout != null
&& System.currentTimeMillis() - startMillis
> commitMaxTimeout.toMillis())
@@ -1069,8 +1068,6 @@ public void compactManifest() {
break;
}
-
-
if ((commitMaxTimeout != null
&& System.currentTimeMillis() - startMillis
> commitMaxTimeout.toMillis())
@@ -1081,7 +1078,7 @@ public void compactManifest() {
"Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
commitMaxTimeout.toMillis(), retryCount));
}
-
+
retryCount++;
}
}
From 4303d9507193498859368c5871791b16a06f4c0a Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 11:11:54 +0800
Subject: [PATCH 07/12] fix doc
---
docs/layouts/shortcodes/generated/core_configuration.html | 2 +-
paimon-common/src/main/java/org/apache/paimon/CoreOptions.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/layouts/shortcodes/generated/core_configuration.html b/docs/layouts/shortcodes/generated/core_configuration.html
index 33dc6c3f08f8..7cc75261dca7 100644
--- a/docs/layouts/shortcodes/generated/core_configuration.html
+++ b/docs/layouts/shortcodes/generated/core_configuration.html
@@ -135,7 +135,7 @@
Maximum number of retries when commit failed. |
- commit.max-timeout |
+ commit.timeout |
(none) |
Duration |
Max timeout duration of retry when commit failed. |
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index 74fe1c17ae79..9c154230d7eb 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -528,7 +528,7 @@ public class CoreOptions implements Serializable {
.withDescription("Whether to force a compaction before commit.");
public static final ConfigOption COMMIT_MAX_TIMEOUT =
- key("commit.max-timeout")
+ key("commit.timeout")
.durationType()
.noDefaultValue()
.withDescription("Max timeout duration of retry when commit failed.");
From d51d7a71f4b176a6d35af24be0d47568cdb8215b Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 12:09:52 +0800
Subject: [PATCH 08/12] fix name
---
.../java/org/apache/paimon/CoreOptions.java | 6 ++++--
.../paimon/operation/FileStoreCommitImpl.java | 19 +++++++------------
2 files changed, 11 insertions(+), 14 deletions(-)
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index 9c154230d7eb..1c20a5052378 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -1935,8 +1935,10 @@ public boolean commitForceCompact() {
return options.get(COMMIT_FORCE_COMPACT);
}
- public Duration commitMaxTimeout() {
- return options.get(COMMIT_MAX_TIMEOUT);
+ public long commitMaxTimeout() {
+ return options.get(COMMIT_MAX_TIMEOUT) == null
+ ? Long.MAX_VALUE
+ : options.get(COMMIT_MAX_TIMEOUT).toMillis();
}
public int commitMaxRetries() {
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index f61d0494366b..40b9ea376a87 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -63,7 +63,6 @@
import javax.annotation.Nullable;
-import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -135,7 +134,7 @@ public class FileStoreCommitImpl implements FileStoreCommit {
private final List commitCallbacks;
private final StatsFileHandler statsFileHandler;
private final BucketMode bucketMode;
- @Nullable private Duration commitMaxTimeout;
+ @Nullable private long commitTimeout;
private final int commitMaxRetries;
@Nullable private Lock lock;
@@ -169,7 +168,7 @@ public FileStoreCommitImpl(
@Nullable Integer manifestReadParallelism,
List commitCallbacks,
int commitMaxRetries,
- @Nullable Duration commitMaxTimeout) {
+ @Nullable long commitTimeout) {
this.fileIO = fileIO;
this.schemaManager = schemaManager;
this.tableName = tableName;
@@ -196,7 +195,7 @@ public FileStoreCommitImpl(
this.manifestReadParallelism = manifestReadParallelism;
this.commitCallbacks = commitCallbacks;
this.commitMaxRetries = commitMaxRetries;
- this.commitMaxTimeout = commitMaxTimeout;
+ this.commitTimeout = commitTimeout;
this.lock = null;
this.ignoreEmptyCommit = true;
@@ -751,15 +750,13 @@ private int tryCommit(
retryResult = (RetryResult) result;
- if ((commitMaxTimeout != null
- && System.currentTimeMillis() - startMillis
- > commitMaxTimeout.toMillis())
+ if (System.currentTimeMillis() - startMillis > commitTimeout
|| retryCount >= commitMaxRetries) {
retryResult.cleanAll();
throw new RuntimeException(
String.format(
"Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
- commitMaxTimeout.toMillis(), retryCount));
+ commitTimeout, retryCount));
}
retryCount++;
@@ -1068,15 +1065,13 @@ public void compactManifest() {
break;
}
- if ((commitMaxTimeout != null
- && System.currentTimeMillis() - startMillis
- > commitMaxTimeout.toMillis())
+ if (System.currentTimeMillis() - startMillis > commitTimeout
|| retryCount >= commitMaxRetries) {
retryResult.cleanAll();
throw new RuntimeException(
String.format(
"Commit failed after %s millis with %s retries, there maybe exist commit conflicts between multiple jobs.",
- commitMaxTimeout.toMillis(), retryCount));
+ commitTimeout, retryCount));
}
retryCount++;
From 3a0b504ec17368c363e90da2abfd9f0e8283e27f Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 12:11:06 +0800
Subject: [PATCH 09/12] fix mills
---
paimon-common/src/main/java/org/apache/paimon/CoreOptions.java | 2 +-
.../src/main/java/org/apache/paimon/AbstractFileStore.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index 1c20a5052378..743407495f78 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -1935,7 +1935,7 @@ public boolean commitForceCompact() {
return options.get(COMMIT_FORCE_COMPACT);
}
- public long commitMaxTimeout() {
+ public long commitTimeout() {
return options.get(COMMIT_MAX_TIMEOUT) == null
? Long.MAX_VALUE
: options.get(COMMIT_MAX_TIMEOUT).toMillis();
diff --git a/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java b/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
index 5a49dc7f5e20..e6d63149149c 100644
--- a/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
+++ b/paimon-core/src/main/java/org/apache/paimon/AbstractFileStore.java
@@ -238,7 +238,7 @@ public FileStoreCommitImpl newCommit(String commitUser, List cal
options.scanManifestParallelism(),
callbacks,
options.commitMaxRetries(),
- options.commitMaxTimeout());
+ options.commitTimeout());
}
@Override
From 5aaa389f097622a163afef15126cd1e4a3c69e4e Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 12:15:22 +0800
Subject: [PATCH 10/12] 1
---
.../src/main/java/org/apache/paimon/CoreOptions.java | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index 743407495f78..c567e6266bfa 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -527,7 +527,7 @@ public class CoreOptions implements Serializable {
.defaultValue(false)
.withDescription("Whether to force a compaction before commit.");
- public static final ConfigOption COMMIT_MAX_TIMEOUT =
+ public static final ConfigOption COMMIT_TIMEOUT =
key("commit.timeout")
.durationType()
.noDefaultValue()
@@ -1936,9 +1936,9 @@ public boolean commitForceCompact() {
}
public long commitTimeout() {
- return options.get(COMMIT_MAX_TIMEOUT) == null
+ return options.get(COMMIT_TIMEOUT) == null
? Long.MAX_VALUE
- : options.get(COMMIT_MAX_TIMEOUT).toMillis();
+ : options.get(COMMIT_TIMEOUT).toMillis();
}
public int commitMaxRetries() {
From d16020b430e011b5ce76e940ce449338895ac2f2 Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 12:26:36 +0800
Subject: [PATCH 11/12] fix doc
---
docs/layouts/shortcodes/generated/core_configuration.html | 2 +-
paimon-common/src/main/java/org/apache/paimon/CoreOptions.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/layouts/shortcodes/generated/core_configuration.html b/docs/layouts/shortcodes/generated/core_configuration.html
index 7cc75261dca7..52b64a3a565d 100644
--- a/docs/layouts/shortcodes/generated/core_configuration.html
+++ b/docs/layouts/shortcodes/generated/core_configuration.html
@@ -138,7 +138,7 @@
commit.timeout |
(none) |
Duration |
- Max timeout duration of retry when commit failed. |
+ Timeout duration of retry when commit failed. |
commit.user-prefix |
diff --git a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
index c567e6266bfa..f42bb8aeca98 100644
--- a/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-common/src/main/java/org/apache/paimon/CoreOptions.java
@@ -531,7 +531,7 @@ public class CoreOptions implements Serializable {
key("commit.timeout")
.durationType()
.noDefaultValue()
- .withDescription("Max timeout duration of retry when commit failed.");
+ .withDescription("Timeout duration of retry when commit failed.");
public static final ConfigOption COMMIT_MAX_RETRIES =
key("commit.max-retries")
From ce9cb250b54d2152b4a2380a69cd59b5379ebb59 Mon Sep 17 00:00:00 2001
From: xuyu <11161569@vivo.com>
Date: Tue, 10 Dec 2024 13:09:01 +0800
Subject: [PATCH 12/12] remove nullabl
---
.../java/org/apache/paimon/operation/FileStoreCommitImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
index 40b9ea376a87..f09d3e39ae55 100644
--- a/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
+++ b/paimon-core/src/main/java/org/apache/paimon/operation/FileStoreCommitImpl.java
@@ -134,7 +134,7 @@ public class FileStoreCommitImpl implements FileStoreCommit {
private final List commitCallbacks;
private final StatsFileHandler statsFileHandler;
private final BucketMode bucketMode;
- @Nullable private long commitTimeout;
+ private long commitTimeout;
private final int commitMaxRetries;
@Nullable private Lock lock;
@@ -168,7 +168,7 @@ public FileStoreCommitImpl(
@Nullable Integer manifestReadParallelism,
List commitCallbacks,
int commitMaxRetries,
- @Nullable long commitTimeout) {
+ long commitTimeout) {
this.fileIO = fileIO;
this.schemaManager = schemaManager;
this.tableName = tableName;