I bump into Session changes on reversion question and tried out the solution given by @bkchr, there was no unexpected epoch change
error after an epoch is skipped due to finalisation getting stopped. But the thing is after an epoch is skipped I was not able to perform any extrinsics.
Steps I followed:
- Cloned the commit mentioned in above question https://github.com/paritytech/substrate/blob/18b1fdcf984bcf87a81728e0622c5f9d33a0aa67/frame/babe/src/lib.rs#L588-L600
- Set the epoch time to 1 minute.
- Built it and run it on dev mode and also made its private network
- Stopped the finalization of chain so that block production time increases.
- After the block production time is more than epoch time didn't get
unexpected epoch change
error but the blocks were still producing. - Than I try to start the finalization by executing
note_stalled
but the extrisinc was not completing. - Than I tried other extrisincs like balance transafer and they were also not working.
- System extrinsics are working fine such as
heartbeat
, andelections
I can see their events in new block.
So from this my understanding is that even if the block generation does not stop the chain is still not working and we need to restart the chain from scratch, or maybe I am doing something wrong, can someone help me with this.
unexpected epoch change
error it was because of the finalization getting stopped due to which block production time increases and eventually leads tounexpected epoch change
, so I replicated that and tried to start the finalization again throughnote_stalled
but the transaction did not add in the block but remains in the transaction pool