You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#3370 introduces idle worker cleanup improvement, and the main idle worker is packet cmd worker. The packer worker is supposed to be stopped after 5 clear interval like below.
When a IBC event is triggered between idle timeout <> worker cleanup, then the function get_or_spawn will return stopping worker. And then the ibc event batch will be ignored due to the stopping packet cmd worker does not receive and process the event batch anymore. In this case, the user, who triggered the ignored IBC event, has to wait until other IBC events are triggered.
Proposal
#3370 introduces idle worker cleanup improvement, and the main idle worker is packet cmd worker. The packer worker is supposed to be stopped after 5 clear interval like below.
hermes/crates/relayer/src/worker/packet.rs
Lines 133 to 137 in 6895054
The worker cleanup is happening 30s interval in supervisor level.
hermes/crates/relayer/src/supervisor.rs
Lines 303 to 312 in 6895054
Problem
When a IBC event is triggered between idle timeout <> worker cleanup, then the function
get_or_spawn
will return stopping worker. And then the ibc event batch will be ignored due to the stopping packet cmd worker does not receive and process the event batch anymore. In this case, the user, who triggered the ignored IBC event, has to wait until other IBC events are triggered.hermes/crates/relayer/src/supervisor.rs
Line 827 in 6895054
hermes/crates/relayer/src/worker/map.rs
Lines 120 to 129 in 6895054
Acceptance Criteria
I personally recommend to run cleanup before returning workers like below.
Or, you can change packet cmd worker to halt only clearing operation without shutting down whole worker process like
this.
For Admin Use
The text was updated successfully, but these errors were encountered: