Yuan Kui created FLINK-39839:
--------------------------------

             Summary: AsyncTableFunction supports user-defined timeout handling 
logic
                 Key: FLINK-39839
                 URL: https://issues.apache.org/jira/browse/FLINK-39839
             Project: Flink
          Issue Type: New Feature
          Components: Table SQL / Planner
    Affects Versions: 2.4.0
            Reporter: Yuan Kui
             Fix For: 2.4.0


An increasing number of users are leveraging `{{{}AsyncTableFunction`{}}} to 
invoke remote inference clusters. Such invocations are essentially remote 
inference requests, which are far more prone to timeouts than regular I/O 
operations. Users expect to be able to define custom handling logic when a 
timeout occurs — for example, falling back to default data or accumulating 
failure statistics — rather than having a `{{{}TimeoutException`{}}} thrown 
directly and causing the entire job to fail.

In the current codebase, `{{{}AsyncTableFunction`{}}} is ultimately invoked by 
`{{{}AsyncWaitOperator`{}}}, which already defines its own timeout handling 
logic. The goal of this proposal is therefore to connect the timeout call chain 
from `{{{}AsyncWaitOperator`{}}} all the way down to 
`{{{}AsyncTableFunction`{}}}. {color:#222233}The configured 
timeout(`{color}table.exec.async-lookup.timeout{color:#222233}`) is the total 
budget measured from the first asyncInvoke. When the async-lookup timer 
expires, any pending delayed retry is cancelled and timeout(...) is invoked 
exactly once. {color}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to