Status

Current state: Under Discussion

Discussion thread: here

JIRA: here [Change the link from KAFKA-1 to your own ticket]

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

Connect REST API provides an endpoint /connectors/<id>/config for a connector's configuration. The endpoint allows to GET a connector's configuration and to PUT a new configuration. The only way to update an existing connector's configuration is to get, modify, and put it using this endpoint. This may cause two issues:

  1. Potential lost modifications due to non-atomicity of the update. The configuration can be changed between GET and PUT in an unrelated way. These changes will be overwritten.
  2. Inconvenience, especially when working in a command line using tools like cURL.

HTTP has PATCH method specifically designed for atomic partial updates. It can solve or mitigate the listed issues.

Public Interfaces

We will add PATCH method to /connectors/<id>/config endpoint in Connect REST API.

Proposed Changes

We will add PATCH method definition into ConnectorsResource, which will call the actual logic in Herder and its child classes StandaloneHerder and DistributedHerder.

There is a draft pull request: https://github.com/apache/kafka/pull/6934

Compatibility, Deprecation, and Migration Plan

This change is backward compatible.

Rejected Alternatives

No rejected alternatives.


  • No labels