JingsongLi commented on a change in pull request #8980: [FLINK-13040] promote
blink table config
URL: https://github.com/apache/flink/pull/8980#discussion_r300527509
##########
File path:
flink-table/flink-table-runtime-blink/src/main/java/org/apache/flink/table/api/TableConfigOptions.java
##########
@@ -179,81 +164,70 @@
public static final ConfigOption<Integer>
SQL_EXEC_WINDOW_AGG_BUFFER_SIZE_LIMIT =
key("sql.exec.window-agg.buffer-size.limit")
.defaultValue(100 * 1000)
- .withDescription("Sets the window
elements buffer limit in size used in group window agg operator.");
+ .withDescription("Sets the window
elements buffer size limit used in group window agg operator.");
//
------------------------------------------------------------------------
// topN Options
//
------------------------------------------------------------------------
-
+ @Documentation.ExcludeFromDocumentation(value = "The default cache size
is enough in most cases. " +
+ "And this is a temporary solution for caching. We may
want to expose cache memory size as the configuration in the future.")
public static final ConfigOption<Long> SQL_EXEC_TOPN_CACHE_SIZE =
key("sql.exec.topn.cache.size")
.defaultValue(10000L)
- .withDescription("Cache size of every
topn task.");
+ .withDescription("TopN operator has a
cache which caches partial state contents to reduce state access. " +
+ "Cache size is the
number of records in each TopN task.");
//
------------------------------------------------------------------------
// Async Lookup Options
//
------------------------------------------------------------------------
-
public static final ConfigOption<Integer>
SQL_EXEC_LOOKUP_ASYNC_BUFFER_CAPACITY =
- key("sql.exec.lookup.async.buffer-capacity")
- .defaultValue(100)
- .withDescription("The max number of async i/o operation that
the async lookup join can trigger.");
+ key("sql.exec.lookup.async.buffer-capacity")
+ .defaultValue(100)
+ .withDescription("The max number of
async i/o operation that the async lookup join can trigger.");
- public static final ConfigOption<Long> SQL_EXEC_LOOKUP_ASYNC_TIMEOUT_MS
=
- key("sql.exec.lookup.async.timeout-ms")
- .defaultValue(180_000L)
- .withDescription("The async timeout millisecond for the
asynchronous operation to complete.");
+ public static final ConfigOption<String> SQL_EXEC_LOOKUP_ASYNC_TIMEOUT =
+ key("sql.exec.lookup.async.timeout")
+ .defaultValue("3 min")
+ .withDescription("The async timeout for
the asynchronous operation to complete.");
//
------------------------------------------------------------------------
// MiniBatch Options
//
------------------------------------------------------------------------
-
- public static final ConfigOption<Long> SQL_EXEC_MINIBATCH_ALLOW_LATENCY
=
- key("sql.exec.mini-batch.allow-latency.ms")
- .defaultValue(Long.MIN_VALUE)
- .withDescription("MiniBatch allow
latency(ms). Value > 0 means MiniBatch enabled.");
+ public static final ConfigOption<String>
SQL_EXEC_MINIBATCH_ALLOW_LATENCY =
+ key("sql.exec.mini-batch.allow-latency")
+ .defaultValue("-1 ms")
+ .withDescription("The maximum latency
can be used for MiniBatch to buffer input records. " +
+ "MiniBatch is an
optimization to buffer input records to reduce state access. " +
+ "MiniBatch is triggered
with the allowed latency interval and when the maximum number of buffered
records reached. " +
+ "If the allow-latency
is greater than zero, MiniBatch will be enabled, otherwise, MiniBatch is
disabled. " +
+ "NOTE: MiniBatch only
works for non-windowed aggregations currently.");
public static final ConfigOption<Long> SQL_EXEC_MINIBATCH_SIZE =
key("sql.exec.mini-batch.size")
- .defaultValue(Long.MIN_VALUE)
- .withDescription("The maximum number of
inputs that MiniBatch buffer can accommodate.");
-
- //
------------------------------------------------------------------------
- // STATE BACKEND Options
- //
------------------------------------------------------------------------
-
- public static final ConfigOption<Boolean>
SQL_EXEC_STATE_BACKEND_ON_HEAP =
- key("sql.exec.statebackend.onheap")
- .defaultValue(false)
- .withDescription("Whether the
statebackend is on heap.");
+ .defaultValue(-1L)
+ .withDescription("The maximum number of
input records can be buffered for MiniBatch. " +
+ "MiniBatch is an
optimization to buffer input records to reduce state access. " +
+ "MiniBatch is triggered
with the allowed latency interval and when the maximum number of buffered
records reached. " +
+ "NOTE: MiniBatch only
works for non-windowed aggregations currently. Its value must be positive.");
//
------------------------------------------------------------------------
// State Options
//
------------------------------------------------------------------------
-
- public static final ConfigOption<Long> SQL_EXEC_STATE_TTL_MS =
- key("sql.exec.state.ttl.ms")
- .defaultValue(Long.MIN_VALUE)
+ public static final ConfigOption<String> SQL_EXEC_STATE_TTL =
+ key("sql.exec.state.ttl")
+ .defaultValue("-1 ms")
.withDescription("The minimum time
until state that was not updated will be retained. State" +
" might be cleared and
removed if it was not updated for the defined period of time.");
- public static final ConfigOption<Long> SQL_EXEC_STATE_TTL_MAX_MS =
- key("sql.exec.state.ttl.max.ms")
- .defaultValue(Long.MIN_VALUE)
- .withDescription("The maximum time
until state which was not updated will be retained." +
- "State will be cleared
and removed if it was not updated for the defined " +
- "period of time.");
-
//
------------------------------------------------------------------------
// Other Exec Options
//
------------------------------------------------------------------------
-
+ @Documentation.ExcludeFromDocumentation(value = "Only for tests.")
Review comment:
As far as I know. It is used in production widely.. User can force to use
`SortMergeJoin`.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services