[GH-ISSUE #84] Multi-part upload isn't supported in all cases #17

Closed
opened 2026-03-03 12:07:25 +03:00 by kerem · 7 comments
Owner

Originally created by @nhoughto on GitHub (Sep 28, 2019).
Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/84

Using the Java SDK in this fashion

bucketStorage.create(BlobInfo.newBuilder(bucketInfo, fullKey).build(), inputstream);

Appears to send data using an unsupported mechanism, gives this error:

multipart: NextPart: EOF

com.google.cloud.storage.StorageException: 500 Internal Server Error
multipart: NextPart: EOF

	at com.google.cloud.storage.spi.v1.HttpStorageRpc.translate(HttpStorageRpc.java:229)
	at com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:310)
	at com.google.cloud.storage.StorageImpl.create(StorageImpl.java:180)
Originally created by @nhoughto on GitHub (Sep 28, 2019). Original GitHub issue: https://github.com/fsouza/fake-gcs-server/issues/84 Using the Java SDK in this fashion `bucketStorage.create(BlobInfo.newBuilder(bucketInfo, fullKey).build(), inputstream);` Appears to send data using an unsupported mechanism, gives this error: ``` multipart: NextPart: EOF com.google.cloud.storage.StorageException: 500 Internal Server Error multipart: NextPart: EOF at com.google.cloud.storage.spi.v1.HttpStorageRpc.translate(HttpStorageRpc.java:229) at com.google.cloud.storage.spi.v1.HttpStorageRpc.create(HttpStorageRpc.java:310) at com.google.cloud.storage.StorageImpl.create(StorageImpl.java:180) ```
kerem closed this issue 2026-03-03 12:07:26 +03:00
Author
Owner

@nhoughto commented on GitHub (Sep 28, 2019):

I see looking through the code that there is a section for multipart uploads, possibly multi part uploads from the java sdk behave slightly differently?

Is there a way to enable more logging to give you more information?

<!-- gh-comment-id:536153236 --> @nhoughto commented on GitHub (Sep 28, 2019): I see looking through the code that there is a section for multipart uploads, possibly multi part uploads from the java sdk behave slightly differently? Is there a way to enable more logging to give you more information?
Author
Owner

@nhoughto commented on GitHub (Sep 29, 2019):

Ah this is because the java sdk sending protobuf/grpc by default, not JSON. Trying to figure out if can configure it to use JSON instead.. there is this sdk that is deprecated

https://developers.google.com/api-client-library/java/apis/storage/v1

<!-- gh-comment-id:536250143 --> @nhoughto commented on GitHub (Sep 29, 2019): Ah this is because the java sdk sending protobuf/grpc by default, not JSON. Trying to figure out if can configure it to use JSON instead.. there is this sdk that is deprecated https://developers.google.com/api-client-library/java/apis/storage/v1
Author
Owner

@nhoughto commented on GitHub (Sep 30, 2019):

Works with old java sdk with gzip disabled 👍

<!-- gh-comment-id:536387097 --> @nhoughto commented on GitHub (Sep 30, 2019): Works with old java sdk with gzip disabled :+1:
Author
Owner

@nhoughto commented on GitHub (Oct 11, 2019):

@fsouza Any plan for adding a gRPC interface to this? This was the cause of my java sdk problems in the end.

<!-- gh-comment-id:540884837 --> @nhoughto commented on GitHub (Oct 11, 2019): @fsouza Any plan for adding a gRPC interface to this? This was the cause of my java sdk problems in the end.
Author
Owner

@fsouza commented on GitHub (Oct 11, 2019):

@nhoughto I believe this would be way more complex. I don't have any plans right now, but I also don't have enough information. I can investigate and write down my findings.

<!-- gh-comment-id:540886098 --> @fsouza commented on GitHub (Oct 11, 2019): @nhoughto I believe this would be way more complex. I don't have any plans right now, but I also don't have enough information. I can investigate and write down my findings.
Author
Owner

@nhoughto commented on GitHub (Oct 11, 2019):

Ok that would be great, grpc appears to be the future for gcp apis, only the deprecated GCS library does JSON now. So someone is going to have to do it eventually 😉.

And you appear to be the only project out there solving this problem! 🤞🏼

<!-- gh-comment-id:540907012 --> @nhoughto commented on GitHub (Oct 11, 2019): Ok that would be great, grpc appears to be the future for gcp apis, only the deprecated GCS library does JSON now. So someone is going to have to do it eventually 😉. And you appear to be the only project out there solving this problem! 🤞🏼
Author
Owner

@DanieleSassoli commented on GitHub (Nov 28, 2019):

@fsouza any chance you looked into this? I'm hitting the same issue and not really in a position where I can use the deprecated SDK, it'd be great if this could work as, as @nhoughto says, you're the only one providing a docker emulator for gcs.

<!-- gh-comment-id:559446521 --> @DanieleSassoli commented on GitHub (Nov 28, 2019): @fsouza any chance you looked into this? I'm hitting the same issue and not really in a position where I can use the deprecated SDK, it'd be great if this could work as, as @nhoughto says, you're the only one providing a docker emulator for gcs.
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#17
No description provided.