apache / apache/beam

Properly handle HTTP 308 errors from GCS

Open
#18,836 0 comments 0 reactions 0 assignees View on GitHub
gcp improvement io java P3
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
2d 2h
Merged PRs (30d)
205

Description

We currently retry these errors, but we could do better by partially retrying as suggested by GCS spec: [https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload](https://cloud.google.com/storage/docs/json_api/v1/how-tos/resumable-upload)

We can hit this error in various places where we connect to GCS (for example, file-based source/sink, jar staging for DataflowRunner).

Imported from Jira [BEAM-4133](https://issues.apache.org/jira/browse/BEAM-4133). Original Jira may contain additional context.
Reported by: chamikara.

Contributor guide

Open the contributing guide

Research direction

Start with the GCS resumable-upload specification linked in the issue, then locate the retry paths used by file-based sources and sinks and by DataflowRunner jar staging. Check how HTTP 308 responses are currently retried; done means these responses are handled with the partial-retry behavior required by the GCS specification across the affected connection paths.

Written by the indexing model from the issue text.

Assessment

Tech stack
google-cloud, java
Domain
cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.