Skip to content

feat(storage): Add client feature tracking in HTTP client#14691

Merged
krishnamd-jkp merged 2 commits into
googleapis:mainfrom
krishnamd-jkp:http-tracker
Jun 9, 2026
Merged

feat(storage): Add client feature tracking in HTTP client#14691
krishnamd-jkp merged 2 commits into
googleapis:mainfrom
krishnamd-jkp:http-tracker

Conversation

@krishnamd-jkp

Copy link
Copy Markdown
Contributor

No description provided.

@krishnamd-jkp krishnamd-jkp requested review from a team as code owners June 1, 2026 09:06
@product-auto-label product-auto-label Bot added the api: storage Issues related to the Cloud Storage API. label Jun 1, 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 implements feature tracking headers for the HTTP storage client by introducing a trackingTransport that wraps the client's base transport and injects feature attributes into outgoing requests. Review feedback highlights two critical issues: first, configFeatureAttributes is never initialized in newHTTPStorageClient, meaning client-level features are not currently tracked; second, trackingTransport does not implement CloseIdleConnections(), which will cause Close() to be a no-op and potentially leak idle connections.

Comment thread storage/http_client.go
Comment thread storage/http_client.go
@krishnamd-jkp

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 implements client-level feature tracking for the HTTP storage client by wrapping the transport in a custom trackingTransport to inject tracking headers. However, the configFeatureAttributes field in httpStorageClient is never initialized in newHTTPStorageClient, which prevents client-level features from being tracked. A suggestion has been provided to initialize this field with config.featureAttributes.

Comment thread storage/http_client.go
@krishnamd-jkp krishnamd-jkp merged commit 319cc4c into googleapis:main Jun 9, 2026
17 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

api: storage Issues related to the Cloud Storage API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants