chungen0126 commented on PR #11740: URL: https://github.com/apache/ozone/pull/11740#issuecomment-6393550674
> Thanks @rich7420 for the patch. > > Sorry for being a bit late to ask this question about the changes for [HDDS-16602](https://issues.apache.org/jira/browse/HDDS-16602): do we really need to essentially duplicate the surface of `ClientProtocol` interface with `<verb>S3<object>` methods? Instead, can we create a new `ClientProtocol` _implementation_ that delegates to another `ClientProtocol` instance (the `RpcClient` in prod), but simply ignores `volumeName` parameter and passes one of two values based on `omVersion`? Then S3 endpoints can keep using the existing interface, passing any constant value (e.g. OZONE_S3_VOLUME_NAME_DEFAULT for simplicity). > > Sorry if this was already considered and not chosen earlier, did not follow all discussions. > > CC @andyhuangdev @chungen0126 @Russole Thanks @adoroszlai, this is a great idea! However, introducing this change (`S3ClientProtocol` delegation) has a broader impact beyond this PR and affects multiple sub-tasks under [HDDS-16602](https://issues.apache.org/jira/browse/HDDS-16602). I think it would be better to have @rich7420 file a separate JIRA to track and handle this design refactoring independently. Additionally, passing a constant value (e.g. `OZONE_S3_VOLUME_NAME_DEFAULT`) makes more sense than `null`, as `null` volume names will likely be rejected by null checks. -- 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]
