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

Reply via email to