-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Test failure: restart-scenarios-if-test-none #1151
Comments
Seems like the same scenario: https://github.com/AntelopeIO/spring/actions/runs/13289996228/job/37108918288 |
Trivial to change to use transaction retry. Also worth investigating why a fork happened in this test. |
Why this test had a large forkProducer received block
The main thread was busy speculatively executing a trx that didn't fit.
The main thread then immediately restarts a speculative block without giving up the main thread.
The start block was not interrupted because the call into producer_plugin happened after the start of the block and presumably before it made it into the forkdb.
Meanwhile the processing of the trx that didn't fit before is on-going and block
The speculative execution of the trx finally finishes:
Now it is time for this node to produce.
When we produce we do not apply any outstanding blocks we just start producing. This is so production is not delayed processing late blocks. Since
This will of course cause a fork. Also interesting enough, liveness then fails on our own block.
This continues as the producer tries to produce a full 60 blocks off of a block that it can't nor anyone else can lock on. This is 60 blocks instead of just 12 because the node has five configured producers (
Once it stops producing it can then process blocks and do a fork switch.
|
…n integration tests to match eos mainnet value
https://github.com/AntelopeIO/spring/actions/runs/13206036299/job/36869762867
Failed during initialization of the cluster. It was setting up initial transfers:
The transaction executed speculatively and into a block on the producer. However, the producer forked out the block. It forked out the block when it was no longer producing. Presumably the trx was sitting in the unapplied trx queue waiting to be put into the next produced block. However, the test timed out before that could happen.
The text was updated successfully, but these errors were encountered: