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 81984015c8..bcfeb061bc 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 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 d3ddf29ac8..608138d867 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 @@ private static Configuration toFlussClientConfig( } }); - // 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 e5ecc0ff58..a126b85f3b 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