cardano-node icon indicating copy to clipboard operation
cardano-node copied to clipboard

Make sure epoch length equation is satisfied for testnet

Open carbolymer opened this issue 1 year ago • 3 comments

Description

This PR makes sure that epoch length equation is satisfied for the testnet.

Additionally, 140s timeout is removed for InfoAction test.

This is an attempt towards fixing:

  • https://github.com/IntersectMBO/cardano-node/issues/5762

Checklist

  • [ ] Commit sequence broadly makes sense and commits have useful messages
  • [ ] New tests are added if needed and existing tests are updated. These may include:
    • golden tests
    • property tests
    • roundtrip tests
    • integration tests See Runnings tests for more details
  • [ ] Any changes are noted in the CHANGELOG.md for affected package
  • [ ] The version bounds in .cabal files are updated
  • [ ] CI passes. See note on CI. The following CI checks are required:
    • [ ] Code is linted with hlint. See .github/workflows/check-hlint.yml to get the hlint version
    • [ ] Code is formatted with stylish-haskell. See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
    • [ ] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7
  • [ ] Self-reviewed the diff

Note on CI

If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons. You will need to get someone with write privileges. Please contact IOG node developers to do this for you.

carbolymer avatar Feb 19 '24 17:02 carbolymer

Looks like the usual timeouts on Mac. Seems fine to be admin-merged to me.

smelc avatar Feb 20 '24 15:02 smelc

I am fairly sure these timeouts are occuring on some tests due to the network existing for longer from genesis with an unstable configuration. This can result in frequent rollbacks, which results in expected transactions not existing on the chain being queried.

Pre-8.8 I was able to run a stable private Conway network with short epoch length of 20 seconds using but I'm unable to find a configuration to make this possible. I don't know why this is but I suspect it to be either a change with consensus or how cardano-testnet is now configured by default. Although, to my knowledge, the only shelley-genesis configuration parameters that impact this is are epochLength, activeSlotsCoeff and securityParam, which must satisfy the rule: Epoch length should be "10 * k / f" where "k = securityParam, f = activeSlotsCoeff". From my experience, an inbalance here can cause instability in longer running chains, which seem to affect longer tests on the Macs in CI more often due to their slower test execution, although I also see it on longer tests on the Linux build machines and more local machine. Currently, with 8..8 I have managed a stable short-ish epoch length of 100 seconds using activeSlotsCoeff=0.1 and securityParam=10. Will attempt to reduce this further today.

catch-21 avatar Feb 22 '24 13:02 catch-21

This PR is stale because it has been open 45 days with no activity.

github-actions[bot] avatar May 24 '24 01:05 github-actions[bot]