The withdrawal count inside the engine is not restored by the snapshot, which leads to a non-deterministic generation of the withdrawal Ref after restoring the state from a snapshot.
Instead of starting at the count from the previous engine, it restarts at 0. So the next withdrawal will generate a different Ref between the peer and the restored node.
I doubt that this is still the case / an actual problem seeing that there are pipeline testing snapshot at all time and this issue never raised? Can you confirm it's a problem @ValentinTrinque ?
The withdrawal count inside the engine is not restored by the snapshot, which leads to a non-deterministic generation of the withdrawal
Ref
after restoring the state from a snapshot.Instead of starting at the count from the previous engine, it restarts at 0. So the next withdrawal will generate a different
Ref
between the peer and the restored node.