junrao commented on pull request #8657:
URL: https://github.com/apache/kafka/pull/8657#issuecomment-671520491


   @chia7712 : I agree mostly with your assessment. For most delayed 
operations, the checking for the completeness of the operation and the calling 
of onComplete() don't have to be protected under the same lock.
   
   The only one that I am not quite sure is DelayedJoin. Currently, 
DelayedJoin.tryCompleteJoin() checks if all members have joined and 
DelayedJoin.onComplete() modifies the state of the group. Both operations are 
done under the same group lock. If we relax the lock, it seems that the 
condition "all members have joined" may no longer be true when we get to 
DelayedJoin.onComplete() even though that condition was true during the 
DelayedJoin.tryCompleteJoin() check. It's not clear what we should do in that 
case.


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

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


Reply via email to