googleapis / googleapis/google-cloud-swift
StorageControl and idempotency
- Dominant language
- Swift
- Stars
- 26
- Forks
- 10
- Avg merge
- 12h 56m
- Merged PRs (30d)
- 211
Description
Some of the storage control operations can use client-assigned request ids to become idempotent. Basically the client library assigns a UUID to the request, and retries it, the server can detect if it is a dup and return the previous response.
For the other requests the client can include the `x-goog-gcs-idempotency-token` header for a similar effect. Googlers can see go/gcs-rust-sdk-idempotency-design for a possible implementation using sidekick and a bit of hand-crafted code.
Contributor guide
Research direction
Start by locating the Swift StorageControl client entry points and its request and retry handling. Compare operations that accept client-assigned request IDs with those requiring the x-goog-gcs-idempotency-token header, using the referenced idempotency design for context; done means supported retries are detected as duplicates and return the previous response.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- google-cloud, swift
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100