frostfs-node/pkg
Pavel Karpy a69c6d1ec9
ci/woodpecker/push/pre-commit Pipeline was successful Details
[#2272] morph: Do not subscribe to events without listening
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>
2023-04-03 08:42:41 +00:00
..
core [#159] Add handle __SYSTEM__ sys attributes 2023-03-22 17:35:20 +03:00
innerring [#181] ir: Do not pay for audit by non-alphabet nodes 2023-03-31 12:53:37 +03:00
local_object_storage [#168] node: Refactor node config 2023-03-31 09:32:59 +03:00
metrics [#148] linter: Add funlen linter 2023-03-21 09:54:41 +03:00
morph [#2272] morph: Do not subscribe to events without listening 2023-04-03 08:42:41 +00:00
network
services [#168] node: Refactor container services 2023-03-31 09:32:59 +03:00
util [#180] node: Refactor panics in unit test 2023-03-29 12:39:07 +03:00