-
Notifications
You must be signed in to change notification settings - Fork 435
feat(bigtable): add expiration logic to query plan implementation #15647
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Summary of ChangesHello @mpeddada1, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request introduces an essential expiration mechanism to the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
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 expiration logic to the QueryPlan, which is a good step forward. The implementation is straightforward and the new tests correctly verify the behavior for both valid and expired plans. I have a few suggestions to improve code quality, maintainability, and adherence to the project's style guide. My comments focus on reducing code duplication, using std::make_shared as per the Google C++ Style Guide, and improving the robustness of tests by using dedicated protobuf matchers.
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #15647 +/- ##
=======================================
Coverage 93.11% 93.11%
=======================================
Files 2433 2433
Lines 223810 223834 +24
=======================================
+ Hits 208400 208424 +24
Misses 15410 15410 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| CompletionQueue cq, google::bigtable::v2::PrepareQueryResponse response, | ||
| RefreshFn fn) { | ||
| return std::shared_ptr<QueryPlan>( | ||
| auto plan = std::shared_ptr<QueryPlan>( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's go ahead and move the implementation of this function into the .cc file along with the other member functions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moving this implementation into the .cc file, thanks for catching this. Additionally, the implementations of the other member functions are currently present in .cc.
This PR introduces expiration logic to the QueryPlan (currently returns empty string for the query and empty ResultSetMetadata). It doesn't contain a refreshing mechanism as described in https://github.com/googleapis/googleapis/blob/55319b058f8a0e46bbeeff30e374e4b1f081f494/google/bigtable/v2/bigtable.proto#L1237