nspcc-dev / nspcc-dev/neofs-node

SN starts refusing to save some objects after `MaxObjectSize` increase

Open
#2,910 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug I4 neofs-storage S4 U3
Dominant language
Go
Stars
38
Forks
51
Avg merge
1d 20h
Merged PRs (30d)
38

Description

MaxObjectSize network setting limits payload size of physically stored NeoFS objects. Storage nodes deny bigger objects. By default, value is 64M. It may be increased by the IR

Expected Behavior

objects not bigger than the current setting are always accepted

Current Behavior

objects with payload bigger than the starttime limit are denied after config increase in runtime

Possible Solution

listen to net config changes and tune server according to it

Steps to Reproduce (for bugs)

see test. Briefly:

  1. start network with L1 = 64M object payload limit
  2. increase the limit to any L2 > L1
  3. try to store object of any size > L1

Context

https://github.com/nspcc-dev/neofs-node/blob/450c4e5ed85f77dc77a13625337d71f7d97fa9ef/cmd/neofs-node/grpc.go#L60-L61

Regression

no

Your Environment

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in cmd/neofs-node/grpc.go around lines 60-61, then review the linked reproduction test and how runtime network configuration changes are handled. Verify the behavior with limits L1 and L2: after increasing MaxObjectSize, objects larger than L1 but within L2 should be accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.