Uh oh!
There was an error while loading. Please reload this page.
feat(storage): add option to disable checksums and improve robustness of full_object_checksum validation - #17665
Conversation
Warning Gemini encountered an error creating the review. You can try again by commenting |
chandra-siri
commented
Jul 8, 2026
review / submit after #17658 |
…le-checksum-robustness with refactor
No region tags are edited in this PR.This comment is generated by snippet-bot.
|
chandra-siri
commented
Jul 9, 2026
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces an enable_checksum parameter to control CRC32C checksum calculations during async object writes, adds validation for full_object_checksum in finalize(), and ensures proper stream cleanup. Key feedback includes removing undocumented parameters from the download_ranges docstring, wrapping both send() and recv() in the try...finally block for robust cleanup, and explicitly rejecting boolean values in the full_object_checksum type check along with adding a corresponding unit test.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
🤖 I have created a release *beep* *boop* --- <details><summary>google-apps-chat: 0.10.2</summary> ## [0.10.2](google-apps-chat-v0.10.1...google-apps-chat-v0.10.2) (2026-07-13) ### Features * update googleapis and regenerate ([#17678](#17678)) ([670917c](670917c)) </details> <details><summary>google-auth: 2.56.0</summary> ## [2.56.0](google-auth-v2.55.2...google-auth-v2.56.0) (2026-07-13) ### Features * **auth:** Implement python mtls helpers ([#17495](#17495)) ([e7baed1](e7baed1)) ### Bug Fixes * **google-auth:** add aiohttp bound for Python 3.14 ([#17654](#17654)) ([b2ec761](b2ec761)) * **google-auth:** add bounds for urllib3 and packaging dependencies ([#17647](#17647)) ([e9c6265](e9c6265)) * **google-auth:** add cryptography bound for Python 3.14 ([#17649](#17649)) ([e9ca4c4](e9ca4c4)) * **google-auth:** add gRPC extra and clean up obsolete TODOs ([#17644](#17644)) ([6da41e8](6da41e8)), closes [#1735](#1735) [#1736](#1736) [#1739](#1739) * **google-auth:** raise rsa extra lower bound to 4.0 ([#17652](#17652)) ([4087828](4087828)) </details> <details><summary>google-cloud-apigee-registry: 0.10.1</summary> ## [0.10.1](google-cloud-apigee-registry-v0.10.0...google-cloud-apigee-registry-v0.10.1) (2026-07-13) ### Features * update googleapis and regenerate ([#17678](#17678)) ([670917c](670917c)) </details> <details><summary>google-cloud-binary-authorization: 1.19.0</summary> ## [1.19.0](google-cloud-binary-authorization-v1.18.0...google-cloud-binary-authorization-v1.19.0) (2026-07-13) ### Features * update googleapis and regenerate ([#17678](#17678)) ([670917c](670917c)) </details> <details><summary>google-cloud-documentai-toolbox: 0.17.1</summary> ## [0.17.1](google-cloud-documentai-toolbox-v0.17.0...google-cloud-documentai-toolbox-v0.17.1) (2026-07-13) ### Bug Fixes * bump jinja2 from 3.1.0 to 3.1.6 in /packages/google-cloud-documentai-toolbox ([#17630](#17630)) ([4cfb931](4cfb931)) * bump pillow from 10.0.0 to 12.2.0 in /packages/google-cloud-documentai-toolbox ([#17631](#17631)) ([1838c35](1838c35)) </details> <details><summary>google-cloud-memorystore: 0.5.2</summary> ## [0.5.2](google-cloud-memorystore-v0.5.1...google-cloud-memorystore-v0.5.2) (2026-07-13) ### Features * update googleapis and regenerate ([#17678](#17678)) ([670917c](670917c)) </details> <details><summary>google-cloud-storage: 3.13.0</summary> ## [3.13.0](google-cloud-storage-v3.12.1...google-cloud-storage-v3.13.0) (2026-07-13) ### Features * **storage:** add option to disable checksums and improve robustness of full_object_checksum validation ([#17665](#17665)) ([a5a717d](a5a717d)) * **storage:** support full_object_checksum in AsyncAppendableObjectWriter ([#17658](#17658)) ([e08d5ca](e08d5ca)) </details> <details><summary>google-devicesandservices-health: 0.1.1</summary> ## [0.1.1](google-devicesandservices-health-v0.1.0...google-devicesandservices-health-v0.1.1) (2026-07-13) ### Features * update googleapis and regenerate ([#17678](#17678)) ([670917c](670917c)) </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 PR introduces performance options and robustness improvements to the asynchronous append operations in
AsyncAppendableObjectWriter.Key Changes:
Disable Checksums for Performance:
enable_checksumoptional parameter (default:True) toAsyncAppendableObjectWriter.append().False, the writer skips calculation of chunk-level CRC32C checksums in_WriteResumptionStrategy, improving append throughput.Robustness of Finalization Checksum Validation:
isinstance(int)) and range checking ([0, 2**32-1]) forfull_object_checksuminfinalize().try...finallyblock. This guarantees that the underlying stream is closed and local writer state variables are reset on mismatch exceptions/errors, preventing stream leaks.if-elif-elseformat.