You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Yash Mayya (Jira)" <ji...@apache.org> on 2023/04/15 05:43:00 UTC

[jira] [Updated] (KAFKA-14910) Consider cancelling ongoing alter / reset connector offsets requests when the connector is resumed

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

Yash Mayya updated KAFKA-14910:
-------------------------------
    Summary: Consider cancelling ongoing alter / reset connector offsets requests when the connector is resumed  (was: Consider cancelling ongoing alter connector offsets requests when the connector is resumed)

> Consider cancelling ongoing alter / reset connector offsets requests when the connector is resumed
> --------------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-14910
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14910
>             Project: Kafka
>          Issue Type: Improvement
>          Components: KafkaConnect
>            Reporter: Yash Mayya
>            Priority: Major
>
> See discussion here for more details - [https://github.com/apache/kafka/pull/13465#discussion_r1164465874]
> The implementation for the _*PATCH /connectors/\{connector}/offsets*_ and _*DELETE /connectors/\{connector}/offsets*_ APIs is completely asynchronous and the check for whether the connector is stopped will only be made at the beginning of the request. 
> If the connector is resumed while the alter / reset offsets request is being processed, this can lead to certain issues (especially with non-EoS source connectors). For sink connectors, admin client requests to alter / reset offsets for a consumer group will be rejected if the consumer group is active (i.e. when the connector tasks come up). For source connectors when exactly once support is enabled on the worker, we do a round of zombie fencing before the tasks are brought up and this will basically disable the transactional producer used to alter offsets (the transactional producer uses the transactional ID for task 0 of the connector). However, for source connectors when exactly once support is not enabled on the worker (this is the default), there are no such safeguards. We could potentially add some interruption logic that cancels ongoing alter / reset offset requests when a connector is resumed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)