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

   ## What changes were proposed in this pull request?
   Container-copy requests need to carry the requested destination storage type 
through to volume selection. For example, a copy requesting SSD should select 
an SSD volume even when the destination datanode’s configured default is DISK.
   
   This PR adds below support:
   
   - Carries an optional destination storage type from SCM through the 
replication command and the first gRPC upload request.
   - Uses the requested type when choosing the destination volume.
   - Records the actual destination volume type in imported container metadata 
and the saved container YAML.
   - Accounts for pending replica additions against the requested storage type.
   - Preserves existing method overloads and default selection when no type is 
supplied.
   
   The protobuf additions use new optional fields and preserve existing 
apparent-version handling. Container-ID and checksum validation remain before 
metadata changes.
   
   Follow-up PRs will update balancer and replica-repair callers to supply the 
appropriate storage type.
   
   ## What is the link to the Apache JIRA
   https://issues.apache.org/jira/browse/HDDS-17587
   
   ## How was this patch tested?
   Following tests were executed in local which are part of 
`TestContainerImporter, TestGrpcContainerUploader, TestGrpcReplicationService, 
TestPushReplicator, TestReplicationSupervisor, TestSendContainerOutputStream, 
TestSendContainerRequestHandler, TestReplicateContainerCommand`
   - Command serialization, absent/null fields, and apparent-version handling.
   - Storage-type transmission independently of container size.
   - Invalid storage-type IDs, unavailable matching volumes, and failure 
cleanup.
   - Real gRPC uploads verifying destination volume selection and persisted 
container metadata.
   - SCM pending-operation accounting, existing container moves, and RATIS/EC 
repair paths.


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