Skip to content

feat(bigtable): wrap admin client#14534

Merged
bhshkh merged 4 commits into
googleapis:mainfrom
bhshkh:cbt-admin-modernization
Jun 17, 2026
Merged

feat(bigtable): wrap admin client#14534
bhshkh merged 4 commits into
googleapis:mainfrom
bhshkh:cbt-admin-modernization

Conversation

@bhshkh

@bhshkh bhshkh commented May 6, 2026

Copy link
Copy Markdown
Contributor

@product-auto-label product-auto-label Bot added the api: bigtable Issues related to the Bigtable API. label May 6, 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 introduces the apiv2 administrative client for Cloud Bigtable, including the necessary generated code, documentation, and integration tests. The new AdminClient provides a modernized interface with helper methods like RestoreTable and WaitForReplication. I have identified an issue in the RestoreTable implementation where custom call options are not being passed to the long-running operation's Wait method, which would cause user-provided configurations to be ignored.

Comment thread bigtable/admin/apiv2/table_admin_wrapper.go Outdated
@bhshkh

bhshkh commented May 6, 2026

Copy link
Copy Markdown
Contributor Author

DO NOT MERGE. All the files in bigtable/admin/apiv2/ will be autogenerated once #14386 is merged except bigtable/admin/apiv2/table_admin_wrapper.go and bigtable/admin/apiv2/table_admin_wrapper_test.go. They have been included here only to pass the build.

@bhshkh bhshkh marked this pull request as ready for review May 15, 2026 23:57
@bhshkh bhshkh requested review from a team as code owners May 15, 2026 23:57
@bhshkh bhshkh force-pushed the cbt-admin-modernization branch from a3f8e96 to 4d899b5 Compare June 11, 2026 21:15
@bhshkh bhshkh requested a review from a team as a code owner June 11, 2026 21:15
@snippet-bot

snippet-bot Bot commented Jun 11, 2026

Copy link
Copy Markdown

No region tags are edited in this PR.

This comment is generated by snippet-bot.
If you find problems with this result, please file an issue at:
https://github.com/googleapis/repo-automation-bots/issues.
To update this comment, add snippet-bot:force-run label or use the checkbox below:

  • Refresh this comment

@bhshkh bhshkh force-pushed the cbt-admin-modernization branch 3 times, most recently from 3604956 to b1c2e36 Compare June 11, 2026 21:24
@bhshkh

bhshkh commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

@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 introduces handwritten methods RestoreTable and WaitForReplication to the BigtableTableAdminClient, along with corresponding unit and integration tests. The review feedback suggests reducing the replication polling interval from 10 seconds to 1 second to prevent unnecessary latency. Additionally, it recommends updating TestWaitForReplication_ContextCancelled to cancel the context during the polling phase rather than immediately, ensuring that the polling loop's cancellation logic is actually tested.

Comment thread bigtable/admin/apiv2/table_admin_test.go Outdated
Comment thread bigtable/admin/apiv2/table_admin.go
@bhshkh bhshkh force-pushed the cbt-admin-modernization branch from 0d4a24a to 0790391 Compare June 11, 2026 21:42
@bhshkh bhshkh changed the title feat(bigtable): modernize admin client feat(bigtable): wrap admin client Jun 11, 2026
@bhshkh bhshkh requested a review from mutianf June 11, 2026 21:46
@bhshkh

bhshkh commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

DO NOT MERGE. All the files in bigtable/admin/apiv2/ will be autogenerated once #14386 is merged except bigtable/admin/apiv2/table_admin_wrapper.go and bigtable/admin/apiv2/table_admin_wrapper_test.go. They have been included here only to pass the build.

generated required files in #19962 and removed them from this pr

@bhshkh

bhshkh commented Jun 11, 2026

Copy link
Copy Markdown
Contributor Author

not to be merged without @mutianf's approval

@shollyman shollyman 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.

A couple of minor nits. I'd also probably change the PR description since we're not wrapping the client in this case, we're simply adding handwritten methods to the generated client.

Comment thread .librarian/state.yaml Outdated
Comment thread bigtable/admin/apiv2/table_admin.go Outdated
@bhshkh bhshkh merged commit 0bea4ba into googleapis:main Jun 17, 2026
17 of 18 checks passed
@bhshkh bhshkh deleted the cbt-admin-modernization branch June 17, 2026 20:05
@bhshkh bhshkh added the release-please:force-run To run release-please label Jun 17, 2026
@release-please release-please Bot removed the release-please:force-run To run release-please label Jun 17, 2026
bhshkh pushed a commit that referenced this pull request Jun 17, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.50.0](bigtable/v1.49.0...bigtable/v1.50.0)
(2026-06-17)


### Features

* **bigtable:** Enable JWT
([#19957](#19957))
([af93528](af93528))
* **bigtable:** Generate Admin API client using selective gapic
([#19962](#19962))
([a37509d](a37509d))
* **bigtable:** Refactor channel_pool_factory as we need to maintain two
channel factory one for session and another for unary
([#14652](#14652))
([0c0b6ce](0c0b6ce))
* **bigtable:** Wrap admin client
([#14534](#14534))
([0bea4ba](0bea4ba))
* Update API sources and regenerate
([#19950](#19950))
([c7607be](c7607be))

---
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.

3 participants