MongoDB技術筆記
- 2020 年 3 月 6 日
- 筆記
createIndex 時遇到 checksum error
有這樣一個collection,數據量為41443963,在對它的一個名為keywords
的field進行createIndex
時,出現了checksum error
的錯誤,並且mongod
直接crash退出了,錯誤的詳細資訊如圖所示:
在遇到這個問題以後,我想到了--repair
操作,在執行了該操作以後,這個coll的數據量減少了104條,這就讓我想到了,出現錯誤的原因很可能是部分數據出現了損壞,進而又想到了我在給這個表insert
數據的時候,使用了多執行緒操作pymongo,因此,為了測試,我使用單執行緒將該coll的數據重新跑了一遍,又執行了createIndex
操作,這次沒有錯誤了!
總結 在mongodb執行插入數據的操作時,除非有很高的速度要求,否則不要使用多執行緒執行並發插入數據操作,避免出現數據損壞的情況,導致後續工作(如createIndex
等)出現問題。