cardano-node
cardano-node copied to clipboard
Make sure epoch length equation is satisfied for testnet
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 thehlint
version - [ ] Code is formatted with
stylish-haskell
. See.github/workflows/stylish-haskell.yml
to get thestylish-haskell
version - [ ] Code builds on Linux, MacOS and Windows for
ghc-8.10.7
andghc-9.2.7
- [ ] Code is linted with
- [ ] 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.
Looks like the usual timeouts on Mac. Seems fine to be admin-merged to me.
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.
This PR is stale because it has been open 45 days with no activity.