Jun Rao created KAFKA-19325:
-------------------------------

             Summary: improve forceComplete() in DelayedOperation
                 Key: KAFKA-19325
                 URL: https://issues.apache.org/jira/browse/KAFKA-19325
             Project: Kafka
          Issue Type: Improvement
          Components: core
    Affects Versions: 4.1.0
            Reporter: Jun Rao


After [https://github.com/apache/kafka/pull/19759/files,] 
DelayedOperation.forceComplete() always returns true when called inside 
tryComplete(). Only the expiration logic checks the return value of 
forceComplete(). We could do the following in the expiration logic and change 
forceComplete() to return void and avoid using the lock there (the caller will 
get the lock instead).

        lock.lock();
        try {
            if (!isCompleted()) {
              forceComplete();
              onExpiration();
             }
        } finally {
            lock.unlock();
        }



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to