feat(bigtable): split gapic and proto usage from the handwritten library into bigtable-api - #8934
Conversation
There was a problem hiding this comment.
Code Review
This pull request refactors the codebase to depend on the external @google-cloud/bigtable-api package for API clients and proto definitions, allowing the removal of numerous auto-generated client files, configurations, and shims. Feedback on the changes highlights a critical issue in handwritten/bigtable/src/admin/table.ts where JSON_PROTOS is read as a raw string using fs.readFileSync instead of being parsed as a JSON object, which will cause runtime failures in protobufFromJSON. A suggestion is provided to use require to synchronously load and parse the JSON file directly.
|
The PR might be a bit gross until I debug the resource leaks. |
quirogas
left a comment
There was a problem hiding this comment.
PR looks good to me, Let's open follow up clean up bugs for:
- removing proto files and addressing test_proxy.proto
- cleanup tests, specially tests that depend on proto files
- transition to the .json definition of the service file as opposed to using the proto files.
- remove logs
- split test changes into a separate PR.
- remove utility script from publishing (if not already)
Feel free to reference this commnet to create the issues initially or create new ones altogether, up to you.
There was a problem hiding this comment.
Can we delete this file or directory altogether and add the export logic to the index.ts file in the parent directory?
There was a problem hiding this comment.
Same as admin/v2/index.ts. Could we move this export to the top-level file instead?
There was a problem hiding this comment.
I'm going to get this one merged and then open up some tweak PRs.
While trying to get the [handwritten split project](#8934) finished, I ran into a lot of resource leaks in the bigtable system tests. These ended up being extensive enough changes that I moved them to their own PR (this one).
While trying to get the [handwritten split project](#8934) finished, I ran into a lot of resource leaks in the bigtable system tests. These ended up being extensive enough changes that I moved them to their own PR (this one).
🤖 I have created a release *beep* *boop* --- <details><summary>pack-n-play: 5.0.1</summary> ## [5.0.1](pack-n-play-v5.0.0...pack-n-play-v5.0.1) (2026-08-05) ### Bug Fixes * **core:** Discovery url handling, error code review helper, and pack-n-play test timeouts ([#9061](#9061)) ([340364f](340364f)) </details> <details><summary>gcp-metadata: 9.0.1</summary> ## [9.0.1](gcp-metadata-v9.0.0...gcp-metadata-v9.0.1) (2026-08-05) ### Bug Fixes * **core:** Discovery url handling, error code review helper, and pack-n-play test timeouts ([#9061](#9061)) ([340364f](340364f)) </details> <details><summary>googleapis-common: 9.0.1</summary> ## [9.0.1](googleapis-common-v9.0.0...googleapis-common-v9.0.1) (2026-08-05) ### Bug Fixes * **core:** Discovery url handling, error code review helper, and pack-n-play test timeouts ([#9061](#9061)) ([340364f](340364f)) </details> <details><summary>bigquery: 9.0.1</summary> ## [9.0.1](bigquery-v9.0.0...bigquery-v9.0.1) (2026-08-05) ### Bug Fixes * **bigquery:** Remove owlbot configs ([#8936](#8936)) ([7f8e23c](7f8e23c)) </details> <details><summary>bigtable: 7.1.0</summary> ## [7.1.0](bigtable-v7.0.0...bigtable-v7.1.0) (2026-08-05) ### Features * **bigtable:** Split gapic and proto usage from the handwritten library into bigtable-api ([#8934](#8934)) ([f63f914](f63f914)) </details> <details><summary>databasecenter: 0.4.1</summary> ## [0.4.1](databasecenter-v0.4.0...databasecenter-v0.4.1) (2026-08-05) ### Bug Fixes * Upgrade types sinon for databasecenter ([#9098](#9098)) ([23aee11](23aee11)) </details> --- 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 is in the effort to remove OwlBot from the standard repo path. A new package (bigtable-api) takes care of what OwlBot used to do (shuffle in new protos and generated gapic classes).
Internal: b/531788771