wenjin272 opened a new issue, #1191:
URL: https://github.com/apache/flink-agents/issues/1191

   ### Search before asking
   
   - [x] I searched existing issues for duplicates; related work is linked 
below where applicable.
   
   ### Description
   
   This is a child issue of #1055.
   
   #### Problem
   
   RunnerContext exposes asynchronous durable execution, but no independent API 
for running ordinary asynchronous work. Users must opt into durable result 
persistence/replay even when they only need asynchronous execution. Async 
scheduling and durability need distinct, explicit contracts.
   
   #### Proposed direction
   
   Add Java `executeAsync(...)` and Python `execute_async(...)` with idiomatic 
future/awaitable results and runtime-aware waiting/composition. Names and exact 
types remain subject to API review. Define:
   
   - Whether execution starts eagerly or when awaited, and how `await`/`gather` 
compose calls.
   - Action suspension/resumption, worker execution, exception propagation, 
ordering, cancellation, and outstanding work when an Action finishes.
   - Which RunnerContext operations are accessible inside callbacks, including 
thread-safety and context-lifetime constraints.
   - Recovery behavior: these calls do not persist/replay their results as 
durable calls do; re-executing an Action may execute the work again.
   
   Document ordinary async first, then the additional guarantees of durable 
execution. Do not describe Async itself as synonymous with a particular 
continuation or worker implementation.
   
   #### Acceptance criteria
   
   - Equivalent Java/Python non-durable async APIs, with documented lifecycle 
and failure semantics.
   - Tests demonstrate actual concurrency, runtime-aware waiting, exceptions, 
and recovery/re-execution behavior without durable result reuse.
   - Existing durable calls retain their guarantees; examples clearly 
distinguish the two modes.
   
   Related: #1122 tracks composition of **durable** calls. This issue tracks 
the separate non-durable API and should reuse agreed composition concepts where 
appropriate.
   
   Relevant code: `api/.../context/RunnerContext.java`, 
`python/flink_agents/api/runner_context.py`.
   
   ### Are you willing to submit a PR?
   
   - [ ] I'm willing to submit a PR!
   


-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to