-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hermes refresh_schedule
bug
#1143
Comments
adizere
added a commit
that referenced
this issue
Jul 7, 2021
hu55a1n1
pushed a commit
to hu55a1n1/hermes
that referenced
this issue
Sep 13, 2022
* Adjusted logs for better msg correlation. * Fixes informalsystems#1143. * Selective backoff in path worker. * Fmt & clippy * Adjusted the backoff mechanism to depend on current chan length * Apply @romac's suggestion * Changelog entry
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Crate
ibc-relayer
Summary of Bug
The
refresh_schedule
method in the relayer library has the job to trim out events which are scheduled for sending but which are outdated (because they were handled in the meantime). It does so by removing some of the TransitMessages that are registered inself.dst_operational_data
.The way it is currently implemented, this method can exit in two ways:
self.dst_operational_data
(line 1381).The problem is that the modification for line 1381 should always be applied, regardless of the early exit or not.
https://github.com/informalsystems/ibc-rs/blob/c78b793d99571df4781cec4c2cfcb18ed68098d1/relayer/src/link.rs#L1360-L1381
Version
c509f88
This was observed in production while doing a log walkthrough with @mircea-c and @greg-szabo.
The original logs capturing how this problem manifested are as follows:
These logs are imperfect, but roughly speaking on the second line Hermes detects that the packet with sn
10169
was already handled it should avoid sending it (by removing that packet from its operational data). On the last line in the log, Hermes proceed to send the same packet (so the packet was never removed from op. data).Acceptance Criteria
refresh_schedule
should account for updatingself.dst_operational_data
.For Admin Use
The text was updated successfully, but these errors were encountered: