現象
更新版本時出現以下日志,并且停止啟動。
原理
為了簡化更新流程,在更新大版本時,需要先 flush 之後再更新,flush 會把記憶體資料持久化,并且将檔案封口,并且把記憶體資料對應的 wal 删掉。
新版本啟動時會檢查,如果有 wal,先不啟動,提示停止寫入之後執行 flush。
解決
(1)不确定有沒有寫入的,可以把 iotdb-engine.properties 裡的 6667 換個端口啟動,一定就沒有寫入了,然後執行 flush。
(2)如果确定停止寫入了,那有可能 wal 删除失敗了,flush 完直接把 data/wal 目錄移走,啟動就行了。