Skip to content

feat(bigtable): add accelerator daemon subprocess wrapper - #1

Open
mutianf wants to merge 5 commits into
acceleratorfrom
accel-01-daemon-subprocess-wrapper
Open

feat(bigtable): add accelerator daemon subprocess wrapper#1
mutianf wants to merge 5 commits into
acceleratorfrom
accel-01-daemon-subprocess-wrapper

Conversation

@mutianf

@mutianf mutianf commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Stack PR 1/7 — base: accelerator

Adds the AcceleratorDaemon subprocess wrapper that spawns the Go accelerator binary on a Unix domain socket, mints a per-daemon stdin handshake secret, waits for the UDS to become connectable, and manages teardown.


Accelerator stack

  1. daemon subprocess wrapper ← this PR
  2. route read_row and mutate_row through daemon
  3. forward auth/identity config to daemon
  4. verify daemon identity before routing
  5. authenticate RPCs with stdin handshake secret
  6. pass Python client version for User-Agent
  7. package prebuilt daemon into wheel

Change-Id: I10d1659a0299349c0bf197d4135a2589b6fa7a41
@mutianf
mutianf force-pushed the accel-01-daemon-subprocess-wrapper branch from 31c2eff to 1d562a6 Compare August 11, 2026 14:07
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
…e instead of PIPE

Change-Id: Id859a0b2006237ad7343ee473d768b4b7119f0e8
…so it is cleaned up

Change-Id: I9fcce911c5b2a2fa1232859f816e77a993f57735

@daniel-sanche daniel-sanche left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Overall looks good, but let some suggestions

Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
Comment thread packages/google-cloud-bigtable/google/cloud/bigtable/data/_accelerator/_daemon.py Outdated
_BIN_ENV_VAR = "BIGTABLE_ACCELERATOR_BIN"

# Wheels ship the binary at this path relative to the `_accelerator/` package.
_DEFAULT_BIN_RELATIVE_PATH = "bin/accelerator"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nit: do we need to store the relative path separately, or should we just store the full path here?

_DEFAULT_BIN_PATH = Path(__file__).parent / "bin" / "accelerator"

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

inlined inside of _resolve_binary_path now

Change-Id: Ia9d16d2d7d78a48076cfa0cb9809dc61e4f645ea
Change-Id: I3346fce33de1069f27e08e78691c104a169c886b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants