You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Lianet Magrans (Jira)" <ji...@apache.org> on 2023/09/06 01:40:00 UTC
[jira] [Created] (KAFKA-15438) Review exception caching logic used for reset/validate positions in async consumer
Lianet Magrans created KAFKA-15438:
--------------------------------------
Summary: Review exception caching logic used for reset/validate positions in async consumer
Key: KAFKA-15438
URL: https://issues.apache.org/jira/browse/KAFKA-15438
Project: Kafka
Issue Type: Task
Components: clients, consumer
Reporter: Lianet Magrans
The refactored async consumer reuses part of the core logic required for resetting and validating positions. That currently works on the principle of async requests, that reset/validate positions when responses are received. If the responses include errors, or if a validation verification fails (ex. log truncation detected), exceptions are saved in-memory, to be thrown on the next call to the reset/validate. Note that these functionalities are periodically called as part of the poll loop to update fetch positions before fetching records.
As an initial implementation, the async consumer reuses this same caching logic, as it has the asyn nature required. This task aims at reviewing the processing of `ResetApplicationEvent `and `ValidatePositionsApplicationEvent` to evaluate if they should rely on event completion instead, to propagate the errors found. It would align with how other application events manage async requests and responses/errors for the new async consumer (based on CompletableFutures), but with the trade-off of heavily changing a caching logic that is currently reused by the legacy and the new consumer in the OffsetFetcherUtils.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)