[GH-ISSUE #1978] support parallel uploads #239

Open
opened 2026-03-03 12:09:22 +03:00 by kerem · 1 comment
Owner

Originally created by @cjnosal on GitHub (Jun 10, 2025).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/1978

When a client attempts parallel uploads of new objects (e.g. hundreds of unique small files) the upload latency quickly climbs to several seconds.

The backends have a global RWMutex. Per-object locks could reduce contention.

environment: fake-gcs-server and single client deployed in local minikube-on-docker

Originally created by @cjnosal on GitHub (Jun 10, 2025). Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/1978 When a client attempts parallel uploads of new objects (e.g. hundreds of unique small files) the upload latency quickly climbs to several seconds. The backends have a global [RWMutex](https://github.com/fsouza/fake-gcs-server/blob/main/internal/backend/memory.go#L24). Per-object locks could reduce contention. environment: fake-gcs-server and single client deployed in local minikube-on-docker
Author
Owner

@dawngerpony commented on GitHub (Oct 22, 2025):

Is this perhaps why my attempt to use parallel composite uploads in Java is returning TransferStatus.FAILED_TO_FINISH?

<!-- gh-comment-id:3432286507 --> @dawngerpony commented on GitHub (Oct 22, 2025): Is this perhaps why my attempt to use [parallel composite uploads](https://cloud.google.com/storage/docs/parallel-composite-uploads) in Java is returning [TransferStatus.FAILED_TO_FINISH](https://cloud.google.com/java/docs/reference/google-cloud-storage/latest/com.google.cloud.storage.transfermanager.TransferStatus)?
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/fake-gcs-server#239
No description provided.