mirror of
https://github.com/nspcc-dev/neofs-node.git
synced 2026-03-01 04:29:10 +00:00
404 errors are critical for big TTL values #1191
Labels
No labels
I1
I2
I3
I4
S0
S1
S2
S3
S4
U0
U1
U2
U3
U4
blocked
bug
config
dependencies
discussion
documentation
enhancement
enhancement
epic
feature
go
good first issue
help wanted
neofs-adm
neofs-cli
neofs-cli
neofs-cli
neofs-ir
neofs-lens
neofs-storage
neofs-storage
performance
question
security
task
test
windows
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-node#1191
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @carpawell on GitHub (Mar 11, 2024).
Node does not like it: https://github.com/nspcc-dev/neofs-sdk-go/pull/562. It starts forwarding requests and receives them back.
Expected Behavior
TTL describes the max forwarding number.
Current Behavior
TTL describes how many times you may try to search for objects. If there is no such object at all, there are 8 request forwardings even if you are the initiator of the request forwarding, you receive it back cause you are the container's part and the forwarder wants you to try.
Possible Solution
Not sure. Mb turn forwarding off in the object services? Spawn only requests with TTL=2 manually? Track forwardings chain and do not continue if you notice a cycle?
Steps to Reproduce (for bugs)
Update to the provided SDK version and try to get non-existing object. Or delete it. See logs that are bigger than you are expecting.
Context
Regression
https://github.com/nspcc-dev/neofs-sdk-go/pull/562
@roman-khimov commented on GitHub (Mar 12, 2024):
It's easy to revert, although this just means that our TTLs don't work the way they were intended to.
@roman-khimov commented on GitHub (Mar 12, 2024):
This defeats the purpose, although with additional signatures this can in fact substitute TTL.
@carpawell commented on GitHub (Mar 12, 2024):
That is S0 to me. The commit is already merged and updating sometimes does not allow deleting big objects with timeout error. Requests spam does not allow proper work even after a single multiplied request on my laptop. That is also a discussion to me cause I am not sure how that should be solved.
@roman-khimov commented on GitHub (Mar 12, 2024):
Let's do https://github.com/nspcc-dev/neofs-sdk-go/pull/567 and then think of associated problems, they can't be fixed quickly.
@carpawell commented on GitHub (Mar 12, 2024):
OK, can be done this way. Not S0 then (but still a discussion?). A few links to the issue's solver: TTL is decoded here and then sent to the next node here (then repeat this one more time on the other node too). A lot of timeouts can be faced when running int tests, and a lot of debug logs about the same object being searched on every container node.