[
https://issues.apache.org/jira/browse/KAFKA-20714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
José Armando García Sancio resolved KAFKA-20714.
------------------------------------------------
Fix Version/s: 4.4.0
Resolution: Fixed
> Refactor KRaft API around message handling
> ------------------------------------------
>
> Key: KAFKA-20714
> URL: https://issues.apache.org/jira/browse/KAFKA-20714
> Project: Kafka
> Issue Type: Bug
> Reporter: José Armando García Sancio
> Assignee: José Armando García Sancio
> Priority: Major
> Fix For: 4.4.0
>
>
> The current KRaft API embeds CompletableFuture fields directly in
> RaftRequest and RaftResponse objects via the completion field. This
> design has several drawbacks. First, it creates API clarity issues
> because requests and responses are data carriers, but the embedded
> future makes them also responsible for asynchronous completion
> signaling. Second, it creates ownership confusion about who owns the
> lifecycle of the embedded future. Third, it reduces type safety because
> the completion future is exposed as a mutable field, allowing external
> code to complete it incorrectly.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)