vcrfxia commented on PR #13523:
URL: https://github.com/apache/kafka/pull/13523#issuecomment-1500571126

   I have a similar clarification question as Hao: what is the significance of 
the instance state transitioning to `RUNNING`? Is it the case that until the 
instance state transitions to `RUNNING`, no active tasks can process data? If 
so, then option 2 would imply that if one task is paused while restoring, then 
no other tasks can make progress on processing because the instance state will 
not transition `RUNNING`, whereas option 1 would mean that other tasks would be 
unblocked to process even while the one task is paused during restoration. The 
latter behavior sounds consistent with the state updater scenario, whereas the 
first one is more strict.
   
   Given that we expect it to be rare that users will pause tasks during 
restoration and that the use cases for wanting to pause one task during 
restoration while other tasks continue to process messages, I am onboard with 
option 2 as the cleaner code change even though it sounds like the behavior may 
differ from the state updater world (assuming my understanding above is 
correct). Just my two cents though :)
   
   > what is the task state if they are paused? Is it SUSPENDED? I don't see a 
PAUSED state in 
https://github.com/apache/kafka/blob/trunk/streams/src/main/java/org/apache/kafka/streams/processor/internals/Task.java#L71-L76
   
   I seem to recall that there is no dedicated task state for paused tasks, and 
that the task state transitions as usual (could even be `RUNNING`, for example, 
while the task is paused). Perhaps best for Guozhang to confirm, though.


-- 
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: jira-unsubscr...@kafka.apache.org

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

Reply via email to