Skip to content

fix(bigtable): register c2p resolver + RLS balancer for accelerator daemon DirectPath - #20362

Merged
mutianf merged 1 commit into
googleapis:mainfrom
mutianf:accel-daemon-directpath-modules
Aug 11, 2026
Merged

mutianf merged 1 commit into
googleapis:mainfrom
mutianf:accel-daemon-directpath-modules

Conversation

@mutianf

@mutianf mutianf commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

Summary

The accelerator daemon (bigtable/internal/accelerator/cmd) dials the data
plane with DirectAccess enabled (internal/option.DirectAccessOptions →
EnableDirectPath(true) + EnableDirectPathXds()), but — unlike the classic
bigtable client — it does not import package bigtable. Package
bigtable's grpc_dp.go (build tag !disable_grpc_modules) is the only
place two gRPC modules required for DirectPath are registered:

  • google.golang.org/grpc/xds/googledirectpath — the google-c2p resolver
  • google.golang.org/grpc/balancer/rls — the RLS LB policy that Bigtable's
    DirectPath 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 xDS
Listener (RLS LB policy not registered), then silently falls back to
CloudPath (CFE). The symptom is DirectPath-misconfigured warnings while
everything still works over CFE.

Fix

Add bigtable/internal/accelerator/cmd/grpc_dp.go (package main, same
!disable_grpc_modules build tag) with the same two blank imports as
bigtable/grpc_dp.go, so the daemon registers the identical module pair.

Testing

  • go build of the accelerator cmd succeeds; both modules enter the cmd's
    dependency graph.
  • gofmt + go vet clean.
  • Verified end-to-end that with the modules registered the daemon attempts
    DirectPath (rather than silently using CFE).

@mutianf
mutianf requested review from a team as code owners August 11, 2026 17:33
@product-auto-label product-auto-label Bot added the api: bigtable Issues related to the Bigtable API. label Aug 11, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@mutianf
mutianf merged commit 95f372f into googleapis:main Aug 11, 2026
19 checks passed
@mutianf
mutianf deleted the accel-daemon-directpath-modules branch August 11, 2026 18:04
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api: bigtable Issues related to the Bigtable API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants