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)

Reply via email to