besu
besu copied to clipboard
Flaky Test - NodeSmartContractPermissioningOutOfSyncAcceptanceTest
https://github.com/hyperledger/besu/actions/runs/8840129649/job/24274875461?pr=6998
NodeSmartContractPermissioningOutOfSyncAcceptanceTest > addNodeToClusterAndVerifyNonBootNodePeerConnectionWorksAfterSync() FAILED
org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a org.hyperledger.besu.tests.acceptance.dsl.condition.perm.WaitForTrueResponse
Expecting value to be true but was false within 30 seconds.
at app//org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
at app//org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:769)
at app//org.hyperledger.besu.tests.acceptance.dsl.WaitUtils.waitFor(WaitUtils.java:31)
at app//org.hyperledger.besu.tests.acceptance.dsl.WaitUtils.waitFor(WaitUtils.java:24)
at app//org.hyperledger.besu.tests.acceptance.dsl.condition.perm.WaitForTrueResponse.verify(WaitForTrueResponse.java:34)
at app//org.hyperledger.besu.tests.acceptance.dsl.node.BesuNode.verify(BesuNode.java:819)
at app//org.hyperledger.besu.tests.acceptance.permissioning.NodeSmartContractPermissioningOutOfSyncAcceptanceTest.addNodeToClusterAndVerifyNonBootNodePeerConnectionWorksAfterSync(NodeSmartContractPermissioningOutOfSyncAcceptanceTest.java:59)
Caused by:
org.opentest4j.AssertionFailedError:
Expecting value to be true but was false
at jdk.internal.reflect.GeneratedConstructorAccessor28.newInstance(Unknown Source)
at [email protected]/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at [email protected]/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at app//org.hyperledger.besu.tests.acceptance.dsl.condition.perm.WaitForTrueResponse.lambda$verify$0(WaitForTrueResponse.java:34)
Actually #7007 was a different flake, in the same test.
NodeSmartContractPermissioningOutOfSyncAcceptanceTest > addNodeToClusterAndVerifyNonBootNodePeerConnectionWorksAfterSync() FAILED org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a org.hyperledger.besu.tests.acceptance.dsl.AcceptanceTestBase Expecting actual: 22 to be greater than or equal to: 25 within 2 minutes. at app//org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119) at app//org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31) at app//org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985) at app//org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:769) at app//org.hyperledger.besu.tests.acceptance.dsl.WaitUtils.waitFor(WaitUtils.java:31) at app//org.hyperledger.besu.tests.acceptance.dsl.AcceptanceTestBase.waitForBlockHeight(AcceptanceTestBase.java:180) at app//org.hyperledger.besu.tests.acceptance.permissioning.NodeSmartContractPermissioningOutOfSyncAcceptanceTest.addNodeToClusterAndVerifyNonBootNodePeerConnectionWorksAfterSync(NodeSmartContractPermissioningOutOfSyncAcceptanceTest.java:47)
So it's flaky if node B syncs too quickly, and is permitted check returns true on line 59 when we expect false.
And also flaky if node B syncs too slowly, and doesn't get to block 25 within 2 minutes.