Skip to content

feat(storage): read checksums in gRPC partial reads#14586

Merged
cpriti-os merged 8 commits into
googleapis:mainfrom
krishnamd-jkp:read_checksum
May 19, 2026
Merged

feat(storage): read checksums in gRPC partial reads#14586
cpriti-os merged 8 commits into
googleapis:mainfrom
krishnamd-jkp:read_checksum

Conversation

@krishnamd-jkp

Copy link
Copy Markdown
Contributor

No description provided.

@krishnamd-jkp krishnamd-jkp requested review from a team as code owners May 14, 2026 08:35

@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 implements chunk-level CRC32C checksum validation for gRPC read operations in both storage/grpc_client.go and storage/grpc_reader.go. It introduces new fields to track chunk-specific checksums and adds logic to validate these checksums at message boundaries during Read and WriteTo operations. Feedback was provided to improve code consistency by utilizing the checkAndResetChunkCRC helper method within the runCRCCheck function for gRPCReader, matching the pattern used in gRPCReadObjectReader.

Comment thread storage/grpc_client.go
@krishnamd-jkp krishnamd-jkp force-pushed the read_checksum branch 2 times, most recently from 02cc0cb to c8949bc Compare May 14, 2026 11:30
Comment thread storage/grpc_client.go Outdated
Comment thread storage/grpc_client.go
Comment thread storage/client_test.go
Comment thread storage/grpc_client.go Outdated
Comment thread storage/client_test.go
Comment thread storage/grpc_reader_multi_range.go Outdated
Comment thread storage/client.go
@cpriti-os cpriti-os changed the title feat: read checksums in gRPC partial reads feat(storage): read checksums in gRPC partial reads May 19, 2026
@cpriti-os cpriti-os merged commit d29f68a into googleapis:main May 19, 2026
11 checks passed
krishnamd-jkp added a commit that referenced this pull request Jun 26, 2026
🤖 I have created a release *beep* *boop*
---


##
[1.63.0](storage/v1.62.2...storage/v1.63.0)
(2026-06-25)


### Features

* **go:** Add full object checksum for negative offsets > size
([#20026](#20026))
([a04d980](a04d980))
* **storage:** Add client feature tracking in HTTP client
([#14691](#14691))
([319cc4c](319cc4c))
* **storage:** App Centric Observability
([#14685](#14685))
([c3273bb](c3273bb))
* **storage:** Read checksums in gRPC partial reads
([#14586](#14586))
([d29f68a](d29f68a))
* **storage:** Support deleteSourceObjects option in object compose
([#14704](#14704))
([0d2d680](0d2d680))
* Update API sources and regenerate
([#14701](#14701))
([a9b7921](a9b7921))


### Bug Fixes

* **storage:** Add server closed idle connection to retriable errors
([#14594](#14594))
([a6bd392](a6bd392))
* **storage:** Fix race condition during retries in gRPC writer
([#14649](#14649))
([c781a75](c781a75))

---
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>
Co-authored-by: Krishnam Dhanush <krishnamd@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants