forked from TrueCloudLab/frostfs-node
a69c6d1ec9
It led to a neo-go dead-lock in the `subscriber` component. Subscribing to notifications is the same RPC as any others, so it could also be blocked forever if no async listening (reading the notification channel) routine exists. If a number of subscriptions is big enough (or a caller is lucky enough) subscribing loop might have not finished subscribing before the first notification is received and then: subscribing RPC is blocked by received notification (non)handling and listening notifications routine is blocked by not finished subscription loop. That commit starts listening notification channel _before_ any subscription actions. Signed-off-by: Pavel Karpy <p.karpy@yadro.com> |
||
---|---|---|
.. | ||
balance | ||
container | ||
frostfs | ||
netmap | ||
reputation | ||
rolemanagement | ||
subnet | ||
handlers.go | ||
listener.go | ||
notary.go | ||
notary_preparator.go | ||
notary_preparator_test.go | ||
notification.go | ||
opcodes.go | ||
opcodes_test.go | ||
parsers.go | ||
utils.go |