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]
