This is an automated email from the ASF dual-hosted git repository.
jark pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fluss.git
The following commit(s) were added to refs/heads/main by this push:
new 7dd9cc10c [client] Change the default value of
'client.lookup.max-retries' to Integer.MAX_VALUE (#2096)
7dd9cc10c is described below
commit 7dd9cc10c13e2b360a6eb4c8ef92eb3d4b7c1d2a
Author: yunhong <[email protected]>
AuthorDate: Thu Dec 4 13:49:47 2025 +0800
[client] Change the default value of 'client.lookup.max-retries' to
Integer.MAX_VALUE (#2096)
---
.../org/apache/fluss/config/ConfigOptions.java | 2 +-
.../fluss/flink/catalog/FlinkTableFactory.java | 10 ++++----
website/docs/engine-flink/options.md | 28 +++++++++++-----------
3 files changed, 19 insertions(+), 21 deletions(-)
diff --git
a/fluss-common/src/main/java/org/apache/fluss/config/ConfigOptions.java
b/fluss-common/src/main/java/org/apache/fluss/config/ConfigOptions.java
index 81984015c..bcfeb061b 100644
--- a/fluss-common/src/main/java/org/apache/fluss/config/ConfigOptions.java
+++ b/fluss-common/src/main/java/org/apache/fluss/config/ConfigOptions.java
@@ -1125,7 +1125,7 @@ public class ConfigOptions {
public static final ConfigOption<Integer> CLIENT_LOOKUP_MAX_RETRIES =
key("client.lookup.max-retries")
.intType()
- .defaultValue(3)
+ .defaultValue(Integer.MAX_VALUE)
.withDescription(
"Setting a value greater than zero will cause the
client to resend any lookup request "
+ "that fails with a potentially transient
error.");
diff --git
a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
index d3ddf29ac..608138d86 100644
---
a/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
+++
b/fluss-flink/fluss-flink-common/src/main/java/org/apache/fluss/flink/catalog/FlinkTableFactory.java
@@ -243,12 +243,10 @@ public class FlinkTableFactory implements
DynamicTableSourceFactory, DynamicTabl
}
});
- // map flink lookup.max-retries to client.lookup.max-retries
- if (tableOptions.containsKey(LookupOptions.MAX_RETRIES.key())) {
- flussConfig.setString(
- ConfigOptions.CLIENT_LOOKUP_MAX_RETRIES.key(),
- tableOptions.get(LookupOptions.MAX_RETRIES.key()));
- }
+ // Todo support LookupOptions.MAX_RETRIES. Currently, Fluss doesn't
support connector level
+ // retry. The option 'client.lookup.max-retries' is only for dealing
with the
+ // RetriableException return by server not all exceptions. Trace by:
+ // https://github.com/apache/fluss/issues/2099
// pass flink io tmp dir to fluss client.
flussConfig.setString(
diff --git a/website/docs/engine-flink/options.md
b/website/docs/engine-flink/options.md
index e5ecc0ff5..a126b85f3 100644
--- a/website/docs/engine-flink/options.md
+++ b/website/docs/engine-flink/options.md
@@ -106,20 +106,20 @@ See more details about [ALTER TABLE ...
SET](engine-flink/ddl.md#set-properties)
## Lookup Options
-| Option | Type | Default |
Description
|
-|------------------------------------------|------------|---------|-----------------------------------------------------------------------------------------------------------------------------|
-| lookup.async | Boolean | true | Whether to
use asynchronous lookup. Asynchronous lookup has better throughput performance
than synchronous lookup. |
-| lookup.cache | Enum | NONE | The
caching strategy for this lookup table, including NONE, PARTIAL.
|
-| lookup.max-retries | Integer | 3 | The
maximum allowed retries if a lookup operation fails. Setting this value will
override option 'client.lookup.max-retries'.|
-| lookup.partial-cache.expire-after-access | Duration | (None) | Duration
to expire an entry in the cache after accessing.
|
-| lookup.partial-cache.expire-after-write | Duration | (None) | Duration
to expire an entry in the cache after writing.
|
-| lookup.partial-cache.cache-missing-key | Boolean | true | Whether to
store an empty value into the cache if the lookup key doesn't match any rows in
the table. |
-| lookup.partial-cache.max-rows | Long | (None) | The
maximum number of rows to store in the cache.
|
-| client.lookup.queue-size | Integer | 25600 | The
maximum number of pending lookup operations.
|
-| client.lookup.max-batch-size | Integer | 128 | The
maximum batch size of merging lookup operations to one lookup request.
|
-| client.lookup.max-inflight-requests | Integer | 128 | The
maximum number of unacknowledged lookup requests for lookup operations.
|
-| client.lookup.batch-timeout | Duration | 100ms | The
maximum time to wait for the lookup batch to full, if this timeout is reached,
the lookup batch will be closed to send. |
-| client.lookup.max-retries | Integer | 3 | Setting a
value greater than zero will cause the client to resend any lookup request that
fails with a potentially transient error. |
+| Option | Type | Default |
Description
|
+|------------------------------------------|------------|-------------------|-------------------------------------------------------------------------------------------------------------------------------------|
+| lookup.async | Boolean | true |
Whether to use asynchronous lookup. Asynchronous lookup has better throughput
performance than synchronous lookup. |
+| lookup.cache | Enum | NONE |
The caching strategy for this lookup table, including NONE, PARTIAL.
|
+| lookup.max-retries | Integer | 3 |
The maximum allowed retries if a lookup operation fails. Setting this value
will override option 'client.lookup.max-retries'. |
+| lookup.partial-cache.expire-after-access | Duration | (None) |
Duration to expire an entry in the cache after accessing.
|
+| lookup.partial-cache.expire-after-write | Duration | (None) |
Duration to expire an entry in the cache after writing.
|
+| lookup.partial-cache.cache-missing-key | Boolean | true |
Whether to store an empty value into the cache if the lookup key doesn't match
any rows in the table. |
+| lookup.partial-cache.max-rows | Long | (None) |
The maximum number of rows to store in the cache.
|
+| client.lookup.queue-size | Integer | 25600 |
The maximum number of pending lookup operations.
|
+| client.lookup.max-batch-size | Integer | 128 |
The maximum batch size of merging lookup operations to one lookup request.
|
+| client.lookup.max-inflight-requests | Integer | 128 |
The maximum number of unacknowledged lookup requests for lookup operations.
|
+| client.lookup.batch-timeout | Duration | 100ms |
The maximum time to wait for the lookup batch to full, if this timeout is
reached, the lookup batch will be closed to send. |
+| client.lookup.max-retries | Integer | Integer.MAX_VALUE |
Setting a value greater than zero will cause the client to resend any lookup
request that fails with a potentially transient error. |
## Write Options