echonesis opened a new pull request, #11098:
URL: https://github.com/apache/ozone/pull/11098
## What changes were proposed in this pull request?
`StorageContainerLocationProtocol` currently serves two different purposes:
1. Its fully qualified class name is used as the historical Hadoop RPC
protocol identity.
2. Its methods define the internal Java interface used by SCM clients and
implementations.
The actual Hadoop RPC protocol is `StorageContainerLocationProtocolPB`,
which extends the generated Protobuf blocking interface and provides the RPC
protocol name, version, and Kerberos metadata. Keeping the internal Java
methods in `StorageContainerLocationProtocol` incorrectly makes changes to an
internal interface appear to be changes to the RPC protocol.
This pull request separates these responsibilities:
- Keeps `StorageContainerLocationProtocol` as an empty final class so that
its historical FQCN remains available as the RPC identity.
- Moves the internal Java methods and constants to the new
`StorageContainerLocationInternalInterface`.
- Updates internal implementations, clients, translators, SCM HA proxy
handling, and callers to use the new internal interface.
- Adds focused tests confirming that:
- `StorageContainerLocationProtocolPB` continues to provide the
historical protocol name, version, and Kerberos metadata.
- The RPC identity class is separate from the internal Java interface.
## What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-16247
## How was this patch tested?
Local Tests
```shell
mvn -pl :hdds-server-framework test \
-Dtest=TestStorageContainerLocationProtocolPB \
-DskipShade -DskipRecon -DskipDocs
# Secure-mode authentication and SCM service authorization passed:
mvn -pl :ozone-integration-test -am test \
-Dtest=TestSecureOzoneCluster#testSecureScmAndOmStartupAndAccessControl \
-Dsurefire.failIfNoSpecifiedTests=false \
-DskipShade -DskipRecon -DskipDocs \
-Dmdep.analyze.skip=true
# SCM HA proxy and failover coverage passed:
mvn -pl :ozone-integration-test -am test \
-Dtest=TestFailoverWithSCMHA \
-Dsurefire.failIfNoSpecifiedTests=false \
-DskipShade -DskipRecon -DskipDocs \
-Dmdep.analyze.skip=true
```
GitHub Actions CI:
https://github.com/echonesis/ozone/actions/runs/32688066691
Generated-by: Codex (GPT-5)
--
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]