"producer double-confirming known range" error when testing failover #3442
Description
Tag: dawn-v4.2.0.
We have two nodes, same producer key and config, and one of them starts with production paused. They both run on the same machine.
Block producing node 1 start producing when the nodes start. Block producing node 2 syncs fine. We run curl -sL http://127.0.0.1:<node-1-port>/v1/producer/pause
and curl -sL http://127.0.0.1:<node-2-port>/v1/producer/resume
.
Block producing node 2 begins producing with no problems.
Then, we run curl -sL http://127.0.0.1:<node-2-port>/v1/producer/pause
and curl -sL http://127.0.0.1:<node-1-port>/v1/producer/resume
.
This causes the producer double-confirming known range
assertion exception. We checked that this is where the assertion is defined in EOS.IO:
eos/libraries/chain/block_header_state.cpp
Line 158 in 3b70b57
We also noticed that block producing node 2 can't resync with the chain even when we run it with the --hard-replay-blockchain
option.