Skip to content

Comments

test(bigtable): enable ChecksumMismatch conformance test#15777

Merged
mpeddada1 merged 2 commits intogoogleapis:mainfrom
mpeddada1:conformance-tests
Nov 18, 2025
Merged

test(bigtable): enable ChecksumMismatch conformance test#15777
mpeddada1 merged 2 commits intogoogleapis:mainfrom
mpeddada1:conformance-tests

Conversation

@mpeddada1
Copy link
Collaborator

No description provided.

@mpeddada1 mpeddada1 requested a review from a team as a code owner November 18, 2025 17:40
@product-auto-label product-auto-label bot added the api: bigtable Issues related to the Bigtable API. label Nov 18, 2025
@gemini-code-assist
Copy link

Summary of Changes

Hello @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 focuses on enhancing the robustness of the Bigtable client by enabling a critical conformance test. Specifically, it re-activates the ChecksumMismatch test, which verifies the client's behavior when data integrity issues are detected. This change helps ensure that the client can reliably handle corrupted data scenarios, thereby improving overall system stability and data reliability.

Highlights

  • Enabled ChecksumMismatch Conformance Test: The ChecksumMismatch conformance test has been re-enabled by removing it from the -skip list in the run_conformance_tests_proxy_bazel.sh script. This ensures that the Bigtable client's handling of checksum mismatches is now being actively tested.
  • Test Script Cleanup: The ChecksumMismatch entry was also removed from a commented-out go test -run command within the same script, aligning the commented section with the active test configuration.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a 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 enables the ChecksumMismatch conformance test by removing it from a skip list and cleaning up a related comment. The changes are logical and achieve the stated goal. I have added one comment with a suggestion to improve the readability and maintainability of the shell script by refactoring a very long line.

go test -v \
-run "TestExecuteQuery|TestExecuteQuery_PlanRefresh$|TestExecuteQuery_PlanRefresh_WithMetadataChange|TestExecuteQuery_PlanRefresh_Retries|TestExecuteQuery_FailsOnSuccesfulStreamWithNoToken" \
-skip "CloseClient|FailsOnEmptyMetadata|FailsOnExecuteQueryMetadata|FailsOnInvalidType|ChecksumMismatch|FailsOnTypeMismatch|FailsOnTypeMismatchWithinMap|FailsOnTypeMismatchWithinArray|FailsOnTypeMismatchWithinStruct|FailsOnStructMissingField|TestExecuteQuery_PlanRefresh_AfterResumeTokenCausesError|TestExecuteQuery_RetryTest_WithPlanRefresh|TestExecuteQuery_PlanRefresh_RespectsDeadline|TestExecuteQuery_PlanRefresh_RecoversAfterPermanentError" \
-skip "CloseClient|FailsOnEmptyMetadata|FailsOnExecuteQueryMetadata|FailsOnInvalidType|FailsOnTypeMismatch|FailsOnTypeMismatchWithinMap|FailsOnTypeMismatchWithinArray|FailsOnTypeMismatchWithinStruct|FailsOnStructMissingField|TestExecuteQuery_PlanRefresh_AfterResumeTokenCausesError|TestExecuteQuery_RetryTest_WithPlanRefresh|TestExecuteQuery_PlanRefresh_RespectsDeadline|TestExecuteQuery_PlanRefresh_RecoversAfterPermanentError" \

Choose a reason for hiding this comment

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

medium

This line is extremely long (over 250 characters), which harms readability and maintainability. Consider refactoring this long list of skipped tests into a shell array to make it easier to manage.

For example:

local -a skip_tests=(
  "CloseClient"
  "FailsOnEmptyMetadata"
  "FailsOnExecuteQueryMetadata"
  # ... and so on for each test to skip
)

local skip_arg
skip_arg="$(IFS='|'; echo "${skip_tests[*]}")"

go test -v \
  -run "..." \
  -skip "${skip_arg}" \
  ...

This approach makes the list of skipped tests much clearer and easier to modify.

@codecov
Copy link

codecov bot commented Nov 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 92.95%. Comparing base (41ea3fc) to head (fe47f12).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #15777      +/-   ##
==========================================
- Coverage   92.95%   92.95%   -0.01%     
==========================================
  Files        2454     2454              
  Lines      226685   226685              
==========================================
- Hits       210721   210717       -4     
- Misses      15964    15968       +4     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mpeddada1 mpeddada1 merged commit c7ec2dc into googleapis:main Nov 18, 2025
68 of 70 checks passed
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