iroha icon indicating copy to clipboard operation
iroha copied to clipboard

feat(sumeragi): dynamic commit time based on view change index

Open Erigara opened this issue 1 year ago • 0 comments

Description

  • Commit time is now linear function of view change index (capped at Duration::MAX)
  • Add more logs to track messages arriving to sumeragi

Note: #4929 would also nice to have because it prevents degradation of view change updates.

Linked issue

Closes #4265

Benefits

This allow to consensus to pass heavy transactions which cause infinite loop previously.

How to test?

Currently it's not possible to modulary test consensus :(

So i've did my tests on bare metal iroha with 4 nodes.

Parameters:

config.toml:

[network]
transaction_gossip_period_ms = 10_000

[transaction]
time_to_live_ms = 3_600_000

genesis.json:

    {
      "Sumeragi": {
        "BlockTimeMs": 100
      }
    },
    {
      "Sumeragi": {
        "CommitTimeMs": 100
      }
    }

Notice that transaction_gossip_period_ms was crucial here, because without it i faced #4952.

Check this comment for the transaction i've submitted to iroha.

Erigara avatar Aug 09 '24 06:08 Erigara