HDDS-10611. Design document for MPU GC Optimization#9793
HDDS-10611. Design document for MPU GC Optimization#9793spacemonkd merged 12 commits intoapache:masterfrom
Conversation
|
Thanks for the exhaustive review and inputs @ivandika3. FYI, I have a sample/PoC patch created if anybody wants to check the changes. |
errose28
left a comment
There was a problem hiding this comment.
Thanks for the design @devabhishekpal @rakeshadr. Overall LGTM, just a few things we can clarify in the doc.
…n info to metadata
|
@ivandika3 @errose28 could you take another look at the current design doc? |
There was a problem hiding this comment.
Thanks for the update and the effort. LGTM +1.
Since we are introducing a flattened schema, we need to be mindful that RocksDB tombstones issue might happen if there are a lot of MPU aborts with large number of parts. So it might be important to put this new MPU metadata table as the list of compacted table (OZONE_OM_COMPACTION_SERVICE_COLUMNFAMILIES_DEFAULT).
|
Hi Ethan, thanks for the approval. I had forgot about this. However we have decided to move on with approach 1 which plays better with backward compatibility concerns. The related protobuf changes for this has been merged already and there we have marked the field as deprecate where applicable. |
|
Thanks for the reviews and inputs @errose28 @ivandika3 @ChenSammi @jojochuang. |
| * write `multipartPartTable[multipartPartKey] = OmMultipartPartInfo{openKey, partName, partNumber, dataSize, modificationTime, objectID, updateID, metadata, keyLocationList, fileEncryptionInfo?, fileChecksum?}` | ||
| * keep current part open key in `openKeyTable` (needed later by list/complete/abort), | ||
| * if overwriting an existing part row, delete old part open key and adjust quota. | ||
| * `multipartInfoTable[multipartKey]` is still updated for metadata/updateID. |
There was a problem hiding this comment.
If updating the multipartInfoTable is still necessary here, can we retain some information from the partKeyInfoList, such as the part name and part number, but remove the partKeyInfo? This way, future requests can avoid scanning the multipartPartTable and only need to query a single key.
What changes were proposed in this pull request?
HDDS-10611. Design document for MPU GC Optimization
Please describe your PR in detail:
This PR adds the design doc for optimizing the OM GC pressure by the MPU file handling
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-10611
How was this patch tested?
N/A