Large object upload fails in testnet #108

Closed
opened 2025-12-28 17:18:27 +00:00 by sami · 1 comment
Owner

Originally created by @realloc on GitHub (Jan 22, 2021).

Originally assigned to: @alexvanin, @cthulhu-rider on GitHub.

In NeoFS testnet, when trying to upload a large object (larger than max object size of 256Mb), the PUT request fails with the following error:

2021-01-22T14:52:27.108Z	debug	util/log.go:11	object service error	{"app_name": "neofs-node", "app_version": "v0.14.2", "node": "/ip4/157.245.37.172/tcp/8081", "request": "PUT", "error": "could not close object stream: (*putsvc.remoteTarget) could not put object to 157.245.37.172:8081: could not close *object.putObjectGRPCStream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (268436029 vs. 4194304)"}

Expected Behavior

According to specification, the large object has to be split into smaller objects automatically.

Current Behavior

neofs-cli fails with error:

Error: can't put object: could not close *object.putObjectGRPCStream: rpc error: code = Unknown desc = (*response.ClientMessageStreamer) could not send the request: (*putsvc.streamer) could not send payload chunk: (*putsvc.Streamer) could not write payload chunk to target: could not release object: could not close target: could not close next target: incomplete object put
Usage:

Steps to Reproduce (for bugs)

Try to upload a large object in NeoFS testnet using any NeoFS node of v0.14.2.

Your Environment

  • Version used: neofs-node and neofs-cli v0.14.2
  • Operating System and version (uname -a): Linux host 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
Originally created by @realloc on GitHub (Jan 22, 2021). Originally assigned to: @alexvanin, @cthulhu-rider on GitHub. In NeoFS testnet, when trying to upload a large object (larger than max object size of 256Mb), the PUT request fails with the following error: ``` 2021-01-22T14:52:27.108Z debug util/log.go:11 object service error {"app_name": "neofs-node", "app_version": "v0.14.2", "node": "/ip4/157.245.37.172/tcp/8081", "request": "PUT", "error": "could not close object stream: (*putsvc.remoteTarget) could not put object to 157.245.37.172:8081: could not close *object.putObjectGRPCStream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (268436029 vs. 4194304)"} ``` ## Expected Behavior According to specification, the large object has to be split into smaller objects automatically. ## Current Behavior `neofs-cli` fails with error: ``` Error: can't put object: could not close *object.putObjectGRPCStream: rpc error: code = Unknown desc = (*response.ClientMessageStreamer) could not send the request: (*putsvc.streamer) could not send payload chunk: (*putsvc.Streamer) could not write payload chunk to target: could not release object: could not close target: could not close next target: incomplete object put Usage: ``` ## Steps to Reproduce (for bugs) Try to upload a large object in NeoFS testnet using any NeoFS node of `v0.14.2`. ## Your Environment * Version used: neofs-node and neofs-cli v0.14.2 * Operating System and version (`uname -a`): Linux host 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
sami 2025-12-28 17:18:27 +00:00
Author
Owner

@alexvanin commented on GitHub (Jan 22, 2021):

This bug can be reproduced in neofs-dev-env after https://github.com/nspcc-dev/neofs-dev-env/pull/41 with neofs-node v0.14.2

Upload object >4MiB and you see same message in debug logs:

2021-01-22T17:18:38.374Z        debug   util/log.go:11  object service error    {"app_name": "neofs-node", "app_version": "v0.14.2", "node": "/dns4/s03.neofs.devenv/tcp/8080", "request": "PUT", "error": "could not close object stream: (*putsvc.remoteTarget) could not put object to 192.168.130.73:8080: could not close *object.putObjectGRPCStream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (67109435 vs. 4194304)"}  
@alexvanin commented on GitHub (Jan 22, 2021): This bug can be reproduced in neofs-dev-env after https://github.com/nspcc-dev/neofs-dev-env/pull/41 with neofs-node v0.14.2 Upload object >4MiB and you see same message in debug logs: ``` 2021-01-22T17:18:38.374Z debug util/log.go:11 object service error {"app_name": "neofs-node", "app_version": "v0.14.2", "node": "/dns4/s03.neofs.devenv/tcp/8080", "request": "PUT", "error": "could not close object stream: (*putsvc.remoteTarget) could not put object to 192.168.130.73:8080: could not close *object.putObjectGRPCStream: rpc error: code = ResourceExhausted desc = grpc: received message larger than max (67109435 vs. 4194304)"} ```
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
nspcc-dev/neofs-node#108
No description provided.