2015-06-03 6 views
0

單挑,我也張貼了這個對Neo4j的GitHub上的問題,這可能不是正確的地方,我現在跨在這裏發帖求助。HOWTO從Neo4j的暗號錯誤中恢復:Neo.ClientError.Statement.EntityNotFound

我曾由於內存不足,我相信已經離開我的數據庫在一個腐敗狀態幾個Neo4j的服務器崩潰。基本上Cypher網站的入口認爲數據庫沒有被拔掉,我不得不強制Neo4j社區應用程序,這個應用程序變得沒有響應。最終,我進入了一個狀態,其中涉及某些節點(:SNP)的大多數大型查詢都會出錯。例如

match (s:SNP)-[r]-() where s.name > 'rs55' delete r, s 
Node with id 15244864 
Neo.ClientError.Statement.EntityNotFound 

OR

match (s:SNP)-[r]-() where s.name< 'rs55' delete r, s 
Node with id 15244864 
Neo.ClientError.Statement.EntityNotFound 

甚至

match (s:SNP) return count(s) 
Node with id 15244864 
Neo.ClientError.Statement.EntityNotFound 

我搜索 「Neo.ClientError.Statement.EntityNotFound」,並試圖從那裏找到答案,接受建議。

刪除架構/標籤並重新啓動服務器沒有幫助。

我也試圖重新索引:SNP(名稱),但該指數沒有完全填充和一個模式命令說,指數未能

ON :SNP(name)    FAILED 

除了Java堆錯誤,我沒有看到任何提及在neo4j.0.0.log或console.log或messages.log中。

如果任何人有關於如何刪除所有SNP建議(我可以重新加載)或者在不重裝了很多其他現有數據請讓我知道恢復。

回答

0

我會先刪除架構標籤存儲器嘗試,這將是在數據庫重啓重新

  • 關閉數據庫
  • 去你的Neo4j目錄
  • cd data/graph.db
  • rm -rf schema/label
  • 重啓Neo4j

第二種解決方案:使用shell工具將數據庫複製並修復到其他商店目錄。

請參閱https://github.com/jexp/store-utils

+0

謝謝Christophe。兩種方法都沒有解決這個問題第一個沒有任何效果,第二個嘗試複製數據庫失敗。它拋出了一個org.neo4j.kernel.impl.store.InvalidRecordException:PropertyRecord [54372961]沒有被使用 –