Skip node reports if not belonging to container #1516

Closed
opened 2025-12-28 17:35:42 +00:00 by sami · 3 comments
Owner

Originally created by @roman-khimov on GitHub (Oct 7, 2025).

Expected Behavior

No errors in logs.

Current Behavior

Oct 07 10:55:57 titan2 neofs-node[552576]: warn neofs-node/container.go:240 put report to contract error {"component": "containerReports", "epoch": 24604, "epoch": 24604, "epoch": 24604, "epoch": 24605, "epoch": 24605, "epoch": 24605, "epoch": 24606, "epoch": 24606, "epoch": 24606, "epoch": 24607, "epoch": 24607, "epoch": 24607, "epoch": 24608, "epoch": 24608, "epoch": 24608, "epoch": 24609, "epoch": 24609, "epoch": 24609, "epoch": 24610, "epoch": 24610, "epoch": 24610, "epoch": 24611, "epoch": 24611, "epoch": 24611, "epoch": 24612, "epoch": 24613, "cid": "E9X5uoYexPdRjGTwyrvuM2a1hFjoNdhQGJtBq4MUsmUt", "error": "could not invoke method (putReport): chain/client: contract execution finished with state FAULT; exception: at instruction 8316 (THROW): unhandled exception: "method must be invoked by storage node from container""}

Possible Solution

Looks like it stores some objects from containers it doesn't belong to now (but was belonging to previously, this assumption needs to be checked anyway). Reporting estimates makes no sense in this case.

Steps to Reproduce (for bugs)

Create a REP 1 container, add an object, add more nodes, make it so that the old node is no longer a part of container, but still stores something.

Context

Testnet.

Regression

Yes and no, previously it was hidden by complex estimation protocol. After #3460 we can see this in logs.

Your Environment

  • Version used: 0.49.0
  • Server setup and configuration: testnet node
  • Operating System and version (uname -a): Debian oldstable
Originally created by @roman-khimov on GitHub (Oct 7, 2025). ## Expected Behavior No errors in logs. ## Current Behavior > Oct 07 10:55:57 titan2 neofs-node[552576]: warn neofs-node/container.go:240 put report to contract error {"component": "containerReports", "epoch": 24604, "epoch": 24604, "epoch": 24604, "epoch": 24605, "epoch": 24605, "epoch": 24605, "epoch": 24606, "epoch": 24606, "epoch": 24606, "epoch": 24607, "epoch": 24607, "epoch": 24607, "epoch": 24608, "epoch": 24608, "epoch": 24608, "epoch": 24609, "epoch": 24609, "epoch": 24609, "epoch": 24610, "epoch": 24610, "epoch": 24610, "epoch": 24611, "epoch": 24611, "epoch": 24611, "epoch": 24612, "epoch": 24613, "cid": "E9X5uoYexPdRjGTwyrvuM2a1hFjoNdhQGJtBq4MUsmUt", "error": "could not invoke method (putReport): chain/client: contract execution finished with state FAULT; exception: at instruction 8316 (THROW): unhandled exception: \"method must be invoked by storage node from container\""} ## Possible Solution Looks like it stores some objects from containers it doesn't belong to now (but was belonging to previously, this assumption needs to be checked anyway). Reporting estimates makes no sense in this case. ## Steps to Reproduce (for bugs) Create a REP 1 container, add an object, add more nodes, make it so that the old node is no longer a part of container, but still stores something. ## Context Testnet. ## Regression Yes and no, previously it was hidden by complex estimation protocol. After #3460 we can see this in logs. ## Your Environment * Version used: 0.49.0 * Server setup and configuration: testnet node * Operating System and version (`uname -a`): Debian oldstable
sami 2025-12-28 17:35:42 +00:00
Author
Owner

@roman-khimov commented on GitHub (Oct 7, 2025):

Check error message here as well, too many epochs to me.

@roman-khimov commented on GitHub (Oct 7, 2025): Check error message here as well, too many epochs to me.
Author
Owner

@cthulhu-rider commented on GitHub (Oct 7, 2025):

Check error message here as well, too many epochs to me.

https://github.com/nspcc-dev/neofs-node/pull/3609#discussion_r2397932880

@cthulhu-rider commented on GitHub (Oct 7, 2025): > Check error message here as well, too many epochs to me. https://github.com/nspcc-dev/neofs-node/pull/3609#discussion_r2397932880
Author
Owner

@roman-khimov commented on GitHub (Oct 7, 2025):

Now I'm wondering if there is any limit to it.

@roman-khimov commented on GitHub (Oct 7, 2025): Now I'm wondering if there is any limit to it.
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#1516
No description provided.