aryangupta1998 opened a new pull request, #9423: URL: https://github.com/apache/ozone/pull/9423
## What changes were proposed in this pull request? DirectoryDeletingService should use rocksdb deleteRange instead of creating individual tombstones which can cause seek time issue. But in the presence of snapshots the deleteRange APi should stitch continuous key ranges together that are reclaimable and not issue a blind deleteRange which could lead to incorrect reclaimation of the entry and lead to unreference orphan blocks when the snapshots are deleted. DeleteRange APIs on FileTable, DirectoryTable, KeyTable can be used by background garbage collection services and should never be used by user facing APIs like keyDelete as that can cause issues in snapshot correctness. E.g. > Dir1/Key1(Reclaimable) Dir1/Key2(Reclaimable) Dir1/key3(Not Reclaimable) Dir1/Key4(Reclaimable) Dir1/Key5(Reclaimable) Then DirectoryDeletingService should issue 2 delete range like [Dir1/Key1..Dir1/Key2] (Both inclusive) [Dir1/Key4..Dir1/Key5] In terms of rocksdb deleteRange where the end key range is exclusive this would be equivalent to [Dir1/Key1..Dir1/Key3) and [Dir1/Key4..lexicographicalHigherString(Dir1/)] ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-13311 ## How was this patch tested? Testes via UT. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
