sepuri sai krishna created FLINK-41325:
------------------------------------------
Summary: COMPILE PLAN emits no state array for a temporal join or
MATCH_RECOGNIZE, so their TTL cannot be configured as documented
Key: FLINK-41325
URL: https://issues.apache.org/jira/browse/FLINK-41325
Project: Flink
Issue Type: Bug
Components: Documentation, Table SQL / Planner
Affects Versions: 2.4.0
Reporter: sepuri sai krishna
The "Configure Operator-level State TTL" section says:
{quote}
Every operator that uses state will explicitly generate a JSON array named
"state" with the
following structure.
{quote}
and tells the reader to find the operator in the compiled plan and change its
TTL.
The same section already names exceptions: window-based operations and interval
joins, which "do
not rely on table.exec.state.ttl to control the state retention, and their
state TTLs cannot be
configured at operator-level". So a reader expects everything outside that list
to be
configurable.
A temporal join and MATCH_RECOGNIZE are in neither group, and neither gets the
array.
{code:sql}
COMPILE PLAN '/tmp/temporal.json' FOR
INSERT INTO snk SELECT o.id, o.amt * r.rate FROM orders o
JOIN rates FOR SYSTEM_TIME AS OF o.ts r ON o.cur = r.cur;
COMPILE PLAN '/tmp/match.json' FOR
INSERT INTO snk2 SELECT * FROM orders MATCH_RECOGNIZE (
PARTITION BY cur ORDER BY ts MEASURES A.amt AS a, B.amt AS b
ONE ROW PER MATCH PATTERN (A B)
DEFINE A AS A.amt > 0, B AS B.amt > A.amt) AS m;
{code}
In both files the operator node has no {{state}} key at all, so there is
nothing to edit. For
comparison, in a plan compiled for {{GROUP BY}} the aggregate node carries
{noformat}
"state": [ { "index": 0, "ttl": "0 ms", "name": "groupAggregateState" } ]
{noformat}
and a deduplicate node carries {{"name": "deduplicateState"}}. A non-window
{{OVER}} aggregate
also has no {{state}} key.
Either the exceptions list should name these operators too, or they should emit
the array. Which
way round is a question for whoever owns the feature; as the page reads today
it promises
something that does not happen.
The Chinese page carries the same two statements.
--
This message was sent by Atlassian Jira
(v10.3.26#10030026)