-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Conversation
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
#[cfg(disable_flaky)] | ||
#[allow(dead_code)] | ||
// FIXME: https://github.com/paritytech/substrate/issues/11321 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should also be fixed with my latest pr or have you seen it failing since then?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have not rechecked it. The only ones that seem to be up-to-date flaky are follow_report_multiple_pruned_block
and follow_forks_pruned_block
.
I can re-enable it if you want.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah please reenable it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you also have not seen the other ones failing recently, we should also not disable them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Okay just re-checked: returns_status_for_pruned_blocks
failed two days ago, so also diabling.
The other two ones are re-enabled.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
@@ -1024,6 +1024,9 @@ async fn follow_prune_best_block() { | |||
} | |||
|
|||
#[tokio::test] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CC @lexnv
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extracting the error from the CI job(https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2529507/raw):
--- STDERR: sc-rpc-spec-v2 chain_head::tests::follow_forks_pruned_block ---
thread 'chain_head::tests::follow_forks_pruned_block' panicked at 'assertion failed: `(left == right)`
left: `Finalized(Finalized { finalized_block_hashes: ["0x0af997b079e96b7f333bf2fe71cb914ad3eb49355923fd3db96c0cc91243bd7a"], pruned_block_hashes: [] })`,
right: `BestBlockChanged(BestBlockChanged { best_block_hash: "0x0af997b079e96b7f333bf2fe71cb914ad3eb49355923fd3db96c0cc91243bd7a" })
These seem to be flaky for at least follow_forks_pruned_block
, I couldn't find in the logs the error for follow_report_multiple_pruned_block
but I expect that to also be affected.
Offhand looking at the code it seems that the Finalized
event is received before NewBlock
event. Which is not generating the BestBlock
before the Finalized
.
I expect the error is coming from:
substrate/client/rpc-spec-v2/src/chain_head/chain_head_follow.rs
Lines 394 to 398 in 0506da0
self.best_block_cache = Some(*hash); | |
}, | |
// This is the first best block event that we generate. | |
None => { | |
self.best_block_cache = Some(*hash); |
Those lines should already be handled by the generate_import_events
.
Thanks for pointing this out! Will create a patch for it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix published at: #13632, will make a note to reenable the tests if this PR gets merged first! Thanks!
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 👍
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
bot merge |
Waiting for commit status. |
Instead of disabling flaky we could use the feature of nextest with retries and marking flaky tests. |
* Ignore flaky test Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Re-enable running_the_node_works_and_can_be_interrupted Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Re-enable notifications_back_pressure Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Unused import Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> --------- Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Nextest flaky setting has been turned on and we now collect flaky tests data. Means that you don't need to disable tests manually. They are safe to fail with 5 retries. The results of such tests will be reported. |
@oleg-plakida where are these reports collected? How can we see them? |
* Ignore flaky test Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Re-enable running_the_node_works_and_can_be_interrupted Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Re-enable notifications_back_pressure Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> * Unused import Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> --------- Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Disabling all of paritytech/polkadot-sdk#48 until they are confirmed to not be flaky anymore.
https://github.com/paritytech/ci_cd/issues/758 should should help to spot and verify the flaky-ness of tests.