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

Reply via email to