Repository navigation
fix(bigtable): register c2p resolver + RLS balancer for accelerator daemon DirectPath - #20362
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Code Review
This pull request adds a new file grpc_dp.go under bigtable/internal/accelerator/cmd to register the googledirectpath resolver and the rls load-balancing policy when the disable_grpc_modules build tag is not set. This allows the accelerator daemon to successfully use DirectPath. There are no review comments, so I have no feedback to provide.
sushanb
approved these changes
Aug 11, 2026
sushanb
pushed a commit
that referenced
this pull request
Aug 28, 2026
🤖 I have created a release *beep* *boop* --- ## [1.53.0](bigtable/v1.52.0...bigtable/v1.53.0) (2026-08-27) ### Features * **bigtable/accelerator:** Add --user-agent flag to daemon ([#20341](#20341)) ([6b33c06](6b33c06)) * **bigtable/accelerator:** Add daemon binary with identity verification ([#20330](#20330)) ([2f9cf89](2f9cf89)) * **bigtable/accelerator:** Add proxy channel scaffold owning a sessi… ([#20310](#20310)) ([d65ca7d](d65ca7d)) * **bigtable/accelerator:** Add stdin-EOF and parent-PID lifecycle wa… ([#20328](#20328)) ([dc1c6ae](dc1c6ae)) * **bigtable/accelerator:** Add UDS server with authenticated proxy i… ([#20320](#20320)) ([a837020](a837020)) * **bigtable/accelerator:** Add V2-to-session request adapters ([#20271](#20271)) ([4cb6f16](4cb6f16)) * **bigtable/accelerator:** Authenticate UDS callers with a stdin tok… ([#20324](#20324)) ([7847ab7](7847ab7)) * **bigtable/accelerator:** Dispatch MutateRow and single-row ReadRow… ([#20312](#20312)) ([c89f336](c89f336)) * Update API sources and regenerate ([#20369](#20369)) ([bfe3aaf](bfe3aaf)) * Update sources and regenerate ([#20399](#20399)) ([a6b5cdb](a6b5cdb)) ### Bug Fixes * **bigtable/internal/transport:** Drop redundant defer p.Close() in AFE picker tests ([#20311](#20311)) ([c05b767](c05b767)) * **bigtable:** Register c2p resolver + RLS balancer for accelerator daemon DirectPath ([#20362](#20362)) ([95f372f](95f372f)) * **bigtable:** Session client — set AllowNonDefaultServiceAccount on DirectPath dial ([#20343](#20343)) ([b9c76ec](b9c76ec)) * **bigtable:** Session client — single ownership + single-flight pool loading ([#20368](#20368)) ([f4ad950](f4ad950)) * **bigtable:** Session pool — re-drive creation after a never-activated close so the consecutive-failure breaker is reachable ([#20355](#20355)) ([ee74949](ee74949)) * **bigtable:** Use composed user agent as CSM client_name ([#20383](#20383)) ([cb02335](cb02335)) --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The accelerator daemon (
bigtable/internal/accelerator/cmd) dials the dataplane with DirectAccess enabled (
internal/option.DirectAccessOptions→EnableDirectPath(true)+EnableDirectPathXds()), but — unlike the classicbigtableclient — it does not import packagebigtable. Packagebigtable'sgrpc_dp.go(build tag!disable_grpc_modules) is the onlyplace two gRPC modules required for DirectPath are registered:
google.golang.org/grpc/xds/googledirectpath— thegoogle-c2presolvergoogle.golang.org/grpc/balancer/rls— the RLS LB policy that Bigtable'sDirectPath xDS route config routes through
Without them the daemon requests DirectPath but either fails to resolve
google-c2p:///bigtable.googleapis.com(unknown port) or NACKs the xDSListener (
RLS LB policy not registered), then silently falls back toCloudPath (CFE). The symptom is DirectPath-misconfigured warnings while
everything still works over CFE.
Fix
Add
bigtable/internal/accelerator/cmd/grpc_dp.go(packagemain, same!disable_grpc_modulesbuild tag) with the same two blank imports asbigtable/grpc_dp.go, so the daemon registers the identical module pair.Testing
go buildof the accelerator cmd succeeds; both modules enter the cmd'sdependency graph.
gofmt+go vetclean.DirectPath (rather than silently using CFE).