Skip to content

Test packet relaying on ordered channels #1835

Closed
@adizere

Description

@adizere

Summary

In preparation for releasing ICA on the hub, we would like to do some testing that channel ordering works as expected in Hermes.

Proposal

  • set up ordered channels between 2 chains
  • provoke out-of-order packet relaying by either manually instrumenting the relayer code to drop the first event out of a batch, or by evicting transactions from thee node's mempool before they commit to the blockchain

Stretch goal:

  • benchmark the scalability properties of Hermes by deploying it on a server similar to real-world operator use, and assess how many channels can Hermes relay gracefully on such a machine
    • the bottleneck will likely be the chain software, not Hermes: confirm that by isolating the networks on machines separate from the one where Hermes is running.

Acceptance Criteria

  • capture a packet ordering corner-case in an automated test using the Rust framework
    • ensure that Hermes enforces ordering by looking at packet sequence numbers on an ordered channel

For Admin Use

  • Not duplicate issue
    Appropriate labels applied
    Appropriate milestone (priority) applied
    Appropriate contributors tagged
    Contributor assigned/self-assigned

Activity

added
A: questionAdmin: further information is requested
I: dependenciesInternal: related to dependencies
I: infrastructureInternal: related to Infrastructure (testing, deployment, etc)
on Feb 2, 2022
added this to the v0.11.1 milestone on Feb 2, 2022
modified the milestones: v0.11.1, v0.12.0 on Feb 2, 2022
mzabaluev

mzabaluev commented on Feb 9, 2022

@mzabaluev
Contributor

Testing this in a real setup appears to require a modified Gaia with the transfer module hacked to use ordered channels.

I guess we should go for a test case simulating out-or-order packet relaying in the test framework.

17 remaining items

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

A: questionAdmin: further information is requestedI: dependenciesInternal: related to dependenciesI: infrastructureInternal: related to Infrastructure (testing, deployment, etc)

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Test packet relaying on ordered channels · Issue #1835 · informalsystems/hermes