Kirk True created KAFKA-15640: --------------------------------- Summary: Refactor CompletedFetch initialization Key: KAFKA-15640 URL: https://issues.apache.org/jira/browse/KAFKA-15640 Project: Kafka Issue Type: Improvement Components: clients, consumer Reporter: Kirk True Assignee: Kirk True
The interaction between {{{}FetchBuffer{}}}, {{{}FetchCollector{}}}, and {{CompletedFetch}} is awkward, to say the least. Per [~junrao]'s comments: {quote}Currently, {{fetchBuffer.setNextInLineFetch}} and {{fetchBuffer.poll}} are separate operations and we expect the caller to call them in the right order to avoid a partition missing in FetchBuffer in the transition phase. It still leaves us with the situation that a partition could be in both completedFetches and nextInLineFetch at a particular time. It's not a problem for now, but it may be in the future. Could we make them an atomic operation? If not, could we add a comment to document the correct usage of the api and the impact on partition being duplicated in completedFetches and nextInLineFetch? {quote} -- This message was sent by Atlassian Jira (v8.20.10#820010)