-
Notifications
You must be signed in to change notification settings - Fork 329
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
Event monitor: Batch together all events from all transactions included in a block #958
Conversation
We could improve a few things here, but I figured we can address those in a follow-up PR.
|
Took the liberty to open #959 for capturing this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! I didn't catch any problems after multiple rounds of testing. I did catch a bug, however (#960) but it has nothing to do with the present PR.
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For the record, as we discussed, filtering is broken, i.e. hermes listen ibc-1 -e Tx
does not work anymore.
There is also a weird issue with re-ordering of events where NewBlock
is interleaved with the Tx
events. I believed not caused by this PR but found it while testing on this branch.
Fixed in 122954b |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Romain!!
…nformalsystems#958) * event monitor: Bulk events from all transactions included in a block * Update changelog * Improve unit test to ensure items are not re-ordered * Cleanup * Ensure NewBlock event is always first in the event batch * Re-enable events filtering in `listen` command * Only print event batch header if there are matching events
Closes: #957
Description
Bulk events from all transactions included in a block by grouping all the IBC events extracted from the subscription stream by height.
This allows the supervisor to process all events emitted at the same height at once, and substantially improves performance (eg. relaying 250 packets now take ~4 seconds instead of a dozen minutes).
For contributor use:
docs/
) and code comments.Files changed
in the Github PR explorer.