Replay 测试

in #cn5 years ago

朋友的节点无意中触发了Replay,并且不显示Replay进度,让他极为闹心。


(图源 :pexels.com)

我看STEEM源码中的一处注释,得出结论,Replay是可以暂停的,暂停后重启steemd(不加 --replay-blockchain)会自动从之前的位置继续Replay。

我的依据就是代码中的这段注释:

尤其是这句:

If the index file head is in the log, but not up to date, replay from index head.

结果朋友按我的馊主意测试后,程序又从头Replay了,害他浪费了几个小时的时间。

为了证实replay中途停掉再启动程序后是否会从停掉的位置继续Replay,我做了一些测试。

删除block_log.index 以及shared_memory.bin,只保留block_log,重启steemd:

以上操作会自动触发Replay,不过并不显示进度。

等一段时间后,关掉steemd,再重新启动,不加(--replay-blockchain)参数:

发现并没有如我所预料的那样,从停掉的位置开始。

重新试一遍上述两步操作,结果没有什么区别:

再测试一下加(--replay-blockchain)参数,然后停掉重启,结果出现下边第二幅图中显示的错误:

经过无数次的测试,后来有一次,貌似Replay从中途继续的,不过我没注意观察,随手关掉了,哭。

看来朋友的结论还是对的,只要需要replay,别报期望中途停止恢复啥的,直接加 --replay-blockchain参数,然后耐心等待好了

相关链接


Vote For Me As Witness
https://steemit.com/~witnesses type in oflyhigh and click VOTE

Vote @oflyhigh via Steemconnect
Thank you!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 63527.41
ETH 3109.34
USDT 1.00
SBD 3.86