Repository navigation
feat(storage): add support for DirectPath over Interconnect - #14006
nidhiii-27 wants to merge 20 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for DirectPath xDS over Interconnect (on-premise xDS name resolution) in GrpcStorageOptions and InstantiatingGrpcChannelProvider, allowing GCE environment checks to be bypassed when enabled. It also updates endpoint validation to support custom URI schemes like google-c2p:/// and adds corresponding tests. The reviewer suggests dynamically adjusting the log level for the DirectPath fallback warning to avoid excessive warning spam in non-GCE environments, recommending Level.WARNING on GCE and Level.FINE elsewhere.
6b73da7 to
d2bdc4a
Compare
No region tags are edited in this PR.This comment is generated by snippet-bot.
|
d2bdc4a to
21b3acf
Compare
21b3acf to
fb844cb
Compare
[Generated-by: AI]
fix spanner tests failing due to overridden authority for default builder branch [Generated-by: AI]
…nect - Generalize DirectPath over Interconnect host and authority handling in InstantiatingGrpcChannelProvider for any service using -direct. convention - Rethrow RuntimeException in extractTargetFromChannelBuilder to surface reflection errors in CI - Remove unused DEFAULT_HOST_DIRECT_PATH constant in GrpcStorageOptions - Add generic non-GCS unit tests in InstantiatingGrpcChannelProviderTest [Generated-by: AI]
- Define DIRECT_PATH_INTERCONNECT_INFIX constant to eliminate duplicated "-direct." string literals - Add explanatory comment in empty catch block of extractAuthorityFromChannelBuilder [Generated-by: AI]
…on in tests - Remove unintended positive test filter from Surefire plugin configuration in gax-grpc/pom.xml, allowing all standard unit tests in InstantiatingGrpcChannelProviderTest to run and restore code coverage. - Inspect authorityOverride field and unwrap builder delegates in InstantiatingGrpcChannelProviderTest#extractAuthorityFromChannelBuilder. [Generated-by: AI]
Replace 4 duplicate invalid endpoint tests with a single parameterized test to address SonarCloud java:S5976. [Generated-by: AI]
Address review feedback on RFC query/fragment delimiter support, reflection cleanup with Mockito, and dynamic guard documentation. [Generated-by: AI]
[Generated-by: AI]
Run fmt-maven-plugin:format to resolve CI lint failure. [Generated-by: AI]
…ver Interconnect [Generated-by: AI]
…AX and retain -direct authority Merge origin/main, move the -direct. host rewrite into InstantiatingGrpcChannelProvider, remove overrideAuthority so GoogleCloudToProdNameResolver retains the -direct authority, and remove the obsolete :/// check in validateEndpoint. [Generated-by: AI]
|
|
kalragauri
left a comment
There was a problem hiding this comment.
nit: the last bullet in the description is out of date after the latest commit. The host rewrite now lives in GAX (rewriteDirectPathInterconnectHost) and the channel no longer overrides the authority to storage.googleapis.com.
| ManagedChannelBuilder<?> channelBuilder = provider.createChannelBuilder(); | ||
| Truth.assertThat(extractTargetFromChannelBuilder(channelBuilder)) | ||
| .isEqualTo("google-c2p:///storage-direct.googleapis.com?force-xds"); | ||
| Truth.assertThat(extractAuthorityFromChannelBuilder(channelBuilder)).isNull(); |
There was a problem hiding this comment.
The test names still describe the earlier behavior: the tests assert that no authority override is set and that the resolver derives the -direct authority.





google-c2p:///<service>?force-xdstarget scheme.:///syntax (e.g.google-c2p:///).storage-direct.googleapis.comand override the request authority to storage.googleapis.com for secure TLS handshakes.