现象
升级版本时出现以下日志,并且停止启动。
WAL detected, please stop insertion, then run 'flush'
原理
为了简化升级流程,在升级大版本时,需要先 flush 之后再升级,flush 会把内存数据持久化,并且将文件封口,并且把内存数据对应的 wal 删掉。
新版本启动时会检查,如果有 wal,先不启动,提示停止写入之后执行 flush。
解决(1)不确定有没有写入的,可以把 iotdb-engine.properties 里的 6667 换个端口启动,一定就没有写入了,然后执行 flush。
(2)如果确定停止写入了,那有可能 wal 删除失败了,flush 完直接把 data/wal 目录移走,启动就行了。