wenjin272 commented on issue #1084:
URL: https://github.com/apache/flink-agents/issues/1084#issuecomment-5658694352

   Thanks for looking into this @Ashfaqbs. I see two concerns with using a 
per-round enqueue ordinal:
   
   1. An unfinished action task can be re-enqueued after yielding for async 
execution. If every enqueue gets a new ordinal, the same logical invocation 
would change its state key. It would need to retain its original ordinal across 
resumptions.
   2. Even if ordinals are assigned only to new logical tasks, their creation 
order can differ during recovery. For example, A yields while B completes and 
emits an event, so B’s downstream task is enqueued first. If both A and B have 
completed durable states when recovery starts, replaying A first emits its 
saved output immediately, reversing the downstream task order and assigning 
different ordinals.
   
   So the single-threaded queue alone does not guarantee replay-stable enqueue 
order; completed-state replay can change that order by bypassing the original 
async waits.


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