apoorvmittal10 commented on code in PR #19759: URL: https://github.com/apache/kafka/pull/19759#discussion_r2104086816
########## server-common/src/main/java/org/apache/kafka/server/purgatory/DelayedOperation.java: ########## @@ -68,24 +67,36 @@ public DelayedOperation(long delayMs, Lock lock) { * Return true iff the operation is completed by the caller: note that * concurrent threads can try to complete the same operation, but only * the first thread will succeed in completing the operation and return - * true, others will still return false + * true, others will still return false. */ public boolean forceComplete() { - if (completed.compareAndSet(false, true)) { - // cancel the timeout timer - cancel(); - onComplete(); - return true; - } else { + // Do not proceed if the operation is already completed. Review Comment: > and change forceComplete() to return void Though I agree that now if forceComplete is invoked by tryComplete then it will return true but tryComplete still need to return boolean hence all places where we return the value from tryComplete based on forceComplete has to be changed and also requires explicit `return true` from all the places. I am of the opinion to not do this. Or if you think we should then shall we take it as a separate PR for just refactor? -- 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