rhauch opened a new pull request #8828:
URL: https://github.com/apache/kafka/pull/8828


   Supplements #8270 
   
   This change adds a check to the KafkaConfigBackingStore, 
KafkaOffsetBackingStore, and KafkaStatusBackingStore to use the admin client to 
verify that the internal topics are compacted and do not use the `delete` 
cleanup policy.
   
   Connect already will create the internal topics with 
`cleanup.policy=compact` if the topics do not yet exist when the Connect 
workers are started; the new topics are created always as compacted, 
overwriting any user-specified `cleanup.policy`. However, if the topics already 
exist the worker did not previously verify the internal topics were compacted, 
such as when a user manually creates the internal topics before starting 
Connect or manually changes the topic settings after the fact.
   
   The current change helps guard against users running Connect with topics 
that have delete cleanup policy enabled, which will remove all connector 
configurations, source offsets, and connector & task statuses that are older 
than the retention time. This means that, for example, the configuation for a 
long-running connector could be deleted by the broker, and this will cause 
restart issues upon a subsequent rebalance or restarting of Connect worker(s).
   
   Connect behavior requires that its internal topics are compacted and not 
deleted after some retention time. Therefore, this additional check is simply 
enforcing the existing expectations, and therefore does not need a KIP.
   
   Added unit tests for the new logic, and added an integration test that 
verifies that the worker will fail to start if each of the three internal 
topics does not use only `cleanup.policy=compact`.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to