[
https://issues.apache.org/jira/browse/KAFKA-19325?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jun Rao resolved KAFKA-19325.
-----------------------------
Resolution: Won't Fix
It seems that changing forceComplete() to return void makes the usage less
convenient.
> 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)