-
Notifications
You must be signed in to change notification settings - Fork 50
Closed
Labels
I4No visible changesNo visible changesS4RoutineRoutineU3RegularRegularenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issues
Milestone
Description
Is your feature request related to a problem? Please describe.
I'm always frustrated when SNs report at the same time.
Describe the solution you'd like
One of or both:
- Update timers inside storage nodes when netmap is not empty.
- If netmap is empty, report with a random offset.
Describe alternatives you've considered
Keep as is, but the notary pool is over when there is are large number of nodes/containers.
Additional context
neofs-node/cmd/neofs-node/container.go
Lines 130 to 148 in af84826
| var nmLen = len(nm.Nodes()) | |
| indexInNM := slices.IndexFunc(nm.Nodes(), func(node netmapsdk.NodeInfo) bool { | |
| return bytes.Equal(node.PublicKey(), c.binPublicKey) | |
| }) | |
| if indexInNM == -1 { | |
| indexInNM = nmLen | |
| } | |
| var stepsInEpoch uint32 | |
| if nmLen != 0 { | |
| // likely there is no need to report less often than once per second | |
| reportStep := min(time.Second, dur/maxReportsPerEpoch/time.Duration(nmLen)) | |
| stepsInEpoch = uint32(dur / reportStep) | |
| } | |
| var ( | |
| ticks timer.EpochTicks | |
| reportTick, stopF = util.SingleAsyncExecutingInstance(reportHandler(c, l)) | |
| ) |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
I4No visible changesNo visible changesS4RoutineRoutineU3RegularRegularenhancementImproving existing functionalityImproving existing functionalityneofs-storageStorage node application issuesStorage node application issues