[2019-09-12 05:04:12.528] INFO : Starting fork recovery
[2019-09-12 05:04:12.530] INFO : Removing 66 blocks. Reset to height 3,581,817
[2019-09-12 05:04:12.530] INFO : Undoing block 3,581,883
[2019-09-12 05:04:12.531] INFO : Back to previous round: 70,233
[2019-09-12 05:04:12.633] DEBUG: Loaded 51 active delegates
[2019-09-12 05:04:12.634] INFO : Analysing fork
[2019-09-12 05:04:12.642] INFO : Undoing block 3,581,882
[2019-09-12 05:04:12.644] INFO : Undoing block 3,581,881
[2019-09-12 05:04:12.646] INFO : Undoing block 3,581,880
[2019-09-12 05:04:12.647] INFO : Undoing block 3,581,879
[2019-09-12 05:04:12.649] INFO : Undoing block 3,581,878
[2019-09-12 05:04:12.650] INFO : Undoing block 3,581,877
[2019-09-12 05:04:12.651] INFO : Undoing block 3,581,876
[2019-09-12 05:04:12.652] INFO : Undoing block 3,581,875
[2019-09-12 05:04:12.653] INFO : Undoing block 3,581,874
[2019-09-12 05:04:12.654] INFO : Undoing block 3,581,873
[2019-09-12 05:04:12.656] INFO : Undoing block 3,581,872
[2019-09-12 05:04:12.657] INFO : Undoing block 3,581,871
[2019-09-12 05:04:12.658] INFO : Undoing block 3,581,870
[2019-09-12 05:04:12.661] INFO : Undoing block 3,581,869
[2019-09-12 05:04:12.663] INFO : Undoing block 3,581,868
[2019-09-12 05:04:12.668] INFO : Undoing block 3,581,867
[2019-09-12 05:04:12.670] INFO : Undoing block 3,581,866
[2019-09-12 05:04:12.671] INFO : Undoing block 3,581,865
[2019-09-12 05:04:12.672] INFO : Undoing block 3,581,864
[2019-09-12 05:04:12.673] INFO : Undoing block 3,581,863
[2019-09-12 05:04:12.674] INFO : Undoing block 3,581,862
[2019-09-12 05:04:12.675] INFO : Undoing block 3,581,861
[2019-09-12 05:04:12.677] INFO : Undoing block 3,581,860
[2019-09-12 05:04:12.680] INFO : Undoing block 3,581,859
[2019-09-12 05:04:12.681] INFO : Undoing block 3,581,858
[2019-09-12 05:04:12.682] INFO : Undoing block 3,581,857
[2019-09-12 05:04:12.683] INFO : Undoing block 3,581,856
[2019-09-12 05:04:12.684] INFO : Undoing block 3,581,855
[2019-09-12 05:04:12.697] INFO : Undoing block 3,581,854
[2019-09-12 05:04:12.705] INFO : Undoing block 3,581,853
[2019-09-12 05:04:12.707] INFO : Undoing block 3,581,852
[2019-09-12 05:04:12.708] INFO : Undoing block 3,581,851
[2019-09-12 05:04:12.710] INFO : Undoing block 3,581,850
[2019-09-12 05:04:12.710] INFO : Undoing block 3,581,849
[2019-09-12 05:04:12.711] INFO : Undoing block 3,581,848
[2019-09-12 05:04:12.714] INFO : Undoing block 3,581,847
[2019-09-12 05:04:12.715] INFO : Undoing block 3,581,846
[2019-09-12 05:04:12.716] INFO : Undoing block 3,581,845
[2019-09-12 05:04:12.717] INFO : Undoing block 3,581,844
[2019-09-12 05:04:12.718] INFO : Undoing block 3,581,843
[2019-09-12 05:04:12.719] INFO : Undoing block 3,581,842
[2019-09-12 05:04:12.720] INFO : Undoing block 3,581,841
[2019-09-12 05:04:12.721] INFO : Undoing block 3,581,840
[2019-09-12 05:04:12.722] INFO : Undoing block 3,581,839
[2019-09-12 05:04:12.723] INFO : Undoing block 3,581,838
[2019-09-12 05:04:12.724] INFO : Undoing block 3,581,837
[2019-09-12 05:04:12.725] INFO : Undoing block 3,581,836
[2019-09-12 05:04:12.725] INFO : Undoing block 3,581,835
[2019-09-12 05:04:12.736] INFO : Undoing block 3,581,834
[2019-09-12 05:04:12.738] INFO : Undoing block 3,581,833
[2019-09-12 05:04:12.740] INFO : Undoing block 3,581,832
[2019-09-12 05:04:12.740] INFO : Back to previous round: 70,232
[2019-09-12 05:04:12.867] DEBUG: Loaded 51 active delegates
[2019-09-12 05:04:12.877] INFO : Undoing block 3,581,831
[2019-09-12 05:04:12.878] INFO : Undoing block 3,581,830
[2019-09-12 05:04:12.879] INFO : Undoing block 3,581,829
[2019-09-12 05:04:12.880] INFO : Undoing block 3,581,828
[2019-09-12 05:04:12.881] INFO : Undoing block 3,581,827
[2019-09-12 05:04:12.883] INFO : Undoing block 3,581,826
[2019-09-12 05:04:12.884] INFO : Undoing block 3,581,825
[2019-09-12 05:04:12.885] INFO : Undoing block 3,581,824
[2019-09-12 05:04:12.886] INFO : Undoing block 3,581,823
[2019-09-12 05:04:12.887] INFO : Undoing block 3,581,822
[2019-09-12 05:04:12.888] INFO : Undoing block 3,581,821
[2019-09-12 05:04:12.889] INFO : Undoing block 3,581,820
[2019-09-12 05:04:12.891] INFO : Undoing block 3,581,819
[2019-09-12 05:04:12.892] INFO : Undoing block 3,581,818
[2019-09-12 05:04:12.961] INFO : 178.62.246.188 has downloaded 15 blocks from height 3,581,819
[2019-09-12 05:04:12.961] INFO : 173.253.129.10 has downloaded 31 blocks from height 3,581,803
[2019-09-12 05:04:12.984] INFO : Removed 66 blocks
[2019-09-12 05:04:12.999] INFO : Transaction Pool Manager build wallets complete
[2019-09-12 05:04:13.000] INFO : Refreshing 127 peers after fork.
[2019-09-12 05:04:13.000] INFO : Checking 127 peers
In this case the last round in the fork recovery was 70,232. Following the fork recovery:
[2019-09-13 02:43:27.449] INFO : Rolling back to most common height 3591455. Own height: 3591457
[2019-09-13 02:43:27.450] DEBUG: event 'FORK': {"syncWithNetwork":"syncing"} -> {"fork":"analysing"} -> actions: [startForkRecovery, analyseFork]
[2019-09-13 02:43:27.452] INFO : Starting fork recovery
[2019-09-13 02:43:27.452] INFO : Removing 2 blocks. Reset to height 3,591,455
[2019-09-13 02:43:27.453] INFO : Undoing block 3,591,457
[2019-09-13 02:43:27.454] INFO : Undoing block 3,591,456
[2019-09-13 02:43:27.456] INFO : Analysing fork
[2019-09-13 02:43:27.460] INFO : Removed 77 blocks
[2019-09-13 02:43:27.460] INFO : Transaction Pool Manager build wallets complete
[2019-09-13 02:43:27.461] INFO : Refreshing 126 peers after fork.
[2019-09-13 02:43:27.461] INFO : Checking 126 peers
Height 3,591,455 was in round 70,421. Incidentally I don't know why it said it removed 77 blocks when it in fact only removed 2.
During fork recovery, the last round that it rolls back to gets erased from the
roundsdatabase table and is not reinserted. This makes it impossible to use theroundCalculatorfor any calculations on that round.For example:
In this case the last round in the fork recovery was 70,232. Following the fork recovery:
Similarly:
Height 3,591,455 was in round 70,421. Incidentally I don't know why it said it removed 77 blocks when it in fact only removed 2.
After fork recovery:
Expected Behavior
The
roundstable should contain data for all rounds up to and including the last round that was rolled back and there should not be any gaps in theroundstable.Current Behavior
The
roundstable does not contain data for the last round that was rolled back during any fork recovery, resulting in missing data in that table.