kamalcph commented on PR #16653: URL: https://github.com/apache/kafka/pull/16653#issuecomment-2249641156
We can further simplify the config into two: 1. remote.storage.enable (existing one) 2. remote.copy.disabled (new boolean config defaults to false) **Graceful Disablement** If the user wants to gracefully disable the remote storage for a topic, then set the `remote.copy.disabled` to true. Once this config is set to true, then no more local log segments will be uploaded to remote. The existing remote segments deletion will happen async based on the complete retention size/time. Once all the remote segments are deleted for a partition, then we start to allow the local-log segment deletion. Second optional step: Once all the remote log segments are deleted after the retention time (say 7 days), then the user can disable the `remote.storage.enable` for those topics. This step will stop the respective RLM and RLMM resources for those topics. This step is optional because we start allowing the local-log deletions once all the remote segments are deleted when `remote.storage.enable=true` and `remote.copy.disabled=true` **Ungraceful Disablement** If the user wants to drop all the remote log segments immediately and keep the data that exists only in local log, then set the `remote.storage.enable=false`, we will delete all the remote log segments irrespective of `remote.copy.disabled` flag. -- 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. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org