ptlrs opened a new pull request, #9263:
URL: https://github.com/apache/ozone/pull/9263

   ## What changes were proposed in this pull request?
   
   Saving the following fields as block file metadata can help with debugging 
and improve the visibility into the system.
   
   - volume/bucket/key name
   - parentId/objectId
   - Original key creation timestamp
   
   Storing such information can help answer questions about any arbitrary block 
file such as
   
   - For which key was this block file created?
   - Regardless of replication/ EC reconstruction/OS filesystem timestamps , 
when was this block file originally created for the very first time?
   
   Today some of these questions can be answered only if the chain of metadata 
from OM to Datanodes is intact. Others can't be answered at all.
   
   
   This PR:
   1. Saves metadata to block files for both Ratis and EC replicated files. 
   2. The IO clients supply the extra metadata that cannot be retrieved on the 
datanode side easily.
   3. The datanode saves the information to the block file metadata table in 
RocksDB 
   
   
   ## What is the link to the Apache JIRA
   
   https://issues.apache.org/jira/browse/HDDS-13884
   
   ## How was this patch tested?
   New tests added
   
   CI: https://github.com/ptlrs/ozone/actions/runs/19176103214
   
   ```
   rpatel@Mac DS-db9b617d-a5c6-4c90-b1f8-481710227e98 % 
~/Github/ozone/hadoop-ozone/dist/target/ozone-2.2.0-SNAPSHOT/bin/ozone debug 
ldb --db container.db scan --cf block_data
   { "1|115816896921600001": {
     "blockID" : {
       "containerBlockID" : {
         "containerID" : 1,
         "localID" : 115816896921600001
       },
       "blockCommitSequenceId" : 2
     },
     "metadata" : {
       "BUCKET_NAME" : "obs-27a9b2b4-edda-428f-b9f7-828444858936",
       "CREATION_TIME" : "2025-11-08T04:51:59.172Z",
       "KEY_NAME" : "ca3490e7-04e7-44d9-8a92-096b2e1ee948",
       "OBJECT_ID" : "-9223372036854775040",
       "PARENT_OBJECT_ID" : "0",
       "TYPE" : "KEY",
       "VOLUME_NAME" : "b04c6e09-5128-4204-8da6-ca5c9072afe7"
     },
     "chunkList" : {
       "memoizedHashCode" : 0,
       "memoizedSize" : -1,
       "unknownFields" : {
         "fields" : { }
       },
       "bitField0_" : 15,
       "chunkName_" : {
         "hash" : 0,
         "bytes" : "MTE1ODE2ODk2OTIxNjAwMDAxX2NodW5rXzE="
       },
       "offset_" : 0,
       "len_" : 45,
       "metadata_" : [ ],
       "checksumData_" : {
         "memoizedHashCode" : 0,
         "memoizedSize" : -1,
         "unknownFields" : {
           "fields" : { }
         },
         "bitField0_" : 3,
         "type_" : 2,
         "bytesPerChecksum_" : 16384,
         "checksums_" : [ {
           "hash" : 0,
           "bytes" : "5X5F/Q=="
         } ],
         "memoizedIsInitialized" : 1
       },
       "stripeChecksum_" : {
         "hash" : 0,
         "bytes" : ""
       },
       "memoizedIsInitialized" : 1
     },
     "size" : 45
   }
    }
   rpatel@Mac DS-db9b617d-a5c6-4c90-b1f8-481710227e98 % pwd
   
/Users/rpatel/Github/ozone/hadoop-ozone/integration-test/target/test-dir/MiniOzoneClusterImpl-7acd6bfe-c321-40a4-a886-885c46a0b278/ozone-metadata/datanode-7/data-0/hdds/7acd6bfe-c321-40a4-a886-885c46a0b278/DS-db9b617d-a5c6-4c90-b1f8-481710227e98
   ```


-- 
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]

Reply via email to