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

Chia-Ping Tsai resolved KAFKA-10170.
------------------------------------
    Resolution: Duplicate

> ReplicaManager should be responsible for checking delayed operations after 
> appending to the log.
> ------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-10170
>                 URL: https://issues.apache.org/jira/browse/KAFKA-10170
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Minor
>
> This issue aims to refactor code to simplify the code of checking delayed 
> operations. This issue is inspired by [~hachikuji] 
> (https://github.com/apache/kafka/pull/8657#discussion_r426943627)
> {quote}
> Currently we have a somewhat convoluted model where ReplicaManager creates 
> delayed operations, but we depend on lower level components like Partition to 
> be aware of them and complete them. This breaks encapsulation.
> Not something we should try to complete in this PR, but as an eventual goal, 
> I think we can consider trying to factor delayed operations out of Partition 
> so that they can be managed by ReplicaManager exclusively. If you assume that 
> is the end state, then we could drop completeDelayedRequests and let 
> ReplicaManager always be responsible for checking delayed operations after 
> appending to the log.
> Other than ReplicaManager, the only caller of this method is 
> GroupMetadataManager which uses it during offset expiration. I think the only 
> reason we do this is because we didn't want to waste purgatory space. I don't 
> think that's a good enough reason to go outside the normal flow. It would be 
> simpler to follow the same path. Potentially we could make the callback an 
> Option so that we still have a way to avoid polluting the purgatory.
> {quote}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to