SammyVimes commented on code in PR #1619: URL: https://github.com/apache/ignite-3/pull/1619#discussion_r1097332704
########## modules/storage-rocksdb/docs/garbage-collection.md: ########## @@ -0,0 +1,83 @@ +# Garbage Collection in the RocksDB partition storage + +## Garbage Collection queue + +We store garbage collector's queue in the RocksDB column family in the following +format. The key: + +| Partition id | Timestamp | Row id | +|--------------|-------------------------------------------|----------------| +| 2-byte | 12-byte (8-byte physical, 4-byte logical) | 16-byte (uuid) | + +The value is not stored, as we only need the key. We can make row id the value, +because for the ascending order processing of the queue we only need the timestamp, +however, multiple row ids can have same timestamp, so making row id a value requires storing a list of +row ids, hence the commit in this implementation of the storage becomes more sophisticated and, probably, +less performant. + +Each time a row is being committed to the storage, we perform a check whether Review Comment: It's obvious, come on -- 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]
