feat(storage): expose metadata parameter in asyncio gRPC calls#17634
feat(storage): expose metadata parameter in asyncio gRPC calls#17634ankitaluthra1 wants to merge 5 commits into
Conversation
|
Warning Gemini encountered an error creating the review. You can try again by commenting |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces metadata tracking and propagation across several asynchronous components in the Google Cloud Storage library, specifically updating AsyncAppendableObjectWriter, AsyncMultiRangeDownloader, and AsyncGRPCClient to support and persist custom metadata, timeouts, and retries. Corresponding unit tests have been added to verify these behaviors. The review feedback highlights a critical issue in both append() and download_ranges() where custom metadata passed directly to these methods is not persisted to the instance's self.metadata attribute, which would cause stream resumption and retry logic to incorrectly fall back to the older metadata.
| await self._grpc_client.delete_object(request=request) | ||
| await self._grpc_client.delete_object( | ||
| request=request, | ||
| metadata=metadata, |
There was a problem hiding this comment.
can you validate the inputs before passing here ? like it should be list/tuple with key, value pairs.
There was a problem hiding this comment.
we don't need changes in this file!
Because metadata is sent only once in grpc stream. ( ie only on the first message, subsequent messages cannot accept grpc metadata values)
There was a problem hiding this comment.
similar to mrd we don't need changes in this file as well.
Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:
Fixes #17633 🦕