[ 
https://issues.apache.org/jira/browse/KAFKA-19325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

黃竣陽 reassigned KAFKA-19325:
---------------------------

    Assignee: 黃竣陽

> 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
>            Assignee: 黃竣陽
>            Priority: Major
>
> 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). This simplifies the caller to forceComplete().
> {code:java}
>         lock.lock();
>         try {
>             if (!isCompleted()) {
>               forceComplete();
>               onExpiration();
>              }
>         } finally {
>             lock.unlock();
>         }{code}



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

Reply via email to