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

   ### Search before asking
   
   - [x] I searched in the 
[issues](https://github.com/apache/flink-agents/issues) and found nothing 
similar.
   
   ### Description
   
   Currently, with Python async execution supported, a Python action can be 
divided into multiple invocations before it is finished. And each invocation 
can potentially update the state. 
   
   It is problematic when a checkpoint is taken while an async execution is not 
finished, but has already updated the state. Say we have an async action 
divided into two steps, 1 and 2. After step 1, it updates the state from S0 to 
S1. Now, a checkpoint is made. Now the checkpoint contains S1. When we recover 
from the checkpoint, we have to run the async action from step 1, but now it 
sees the state S1 instead of S0.
   
   To fix the problem, we have to keep the update to the state in memory, and 
only persist it to the state when the async action is finished. 
   
   Note that the per-action state consistency has the same problem, so we can 
only put the state update to the action state store when the async action is 
all finished.
   
   ### 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: issues-unsubscr...@flink.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to