6

CentOSでNeo4J1.8組み込み、Java6を実行しています。

JVMがクラッシュした後、次のいくつかの例外が発生し始めました。

org.neo4j.graphdb.NotFoundException: Unable to load one or more relationships from Node[1169385]. This usually happens when relationships are deleted by someone else just as we are about to load them. Please try again.
        at org.neo4j.kernel.impl.core.NodeImpl.loadMoreRelationshipsFromNodeManager(NodeImpl.java:530)
        at org.neo4j.kernel.impl.core.NodeImpl.getMoreRelationships(NodeImpl.java:415)
        at org.neo4j.kernel.impl.core.NodeImpl.loadInitialRelationships(NodeImpl.java:368)
        at org.neo4j.kernel.impl.core.NodeImpl.ensureRelationshipMapNotNull(NodeImpl.java:345)
        at org.neo4j.kernel.impl.core.NodeImpl.getAllRelationshipsOfType(NodeImpl.java:195)
        at org.neo4j.kernel.impl.core.NodeImpl.getRelationships(NodeImpl.java:247)
        at org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:92)
        at com.bizya.polosvc.neo4j.model.PersonImpl.getAllSelvesNoPropsLoad(PersonImpl.java:1303)
        at com.bizya.polosvc.neo4j.model.PathsFinderImpl.findPaths(PathsFinderImpl.java:189)
        at com.bizya.polosvc.neo4j.model.PathsFinderImpl.findPaths(PathsFinderImpl.java:49)
        at com.bizya.server.services.ReachabilityService.findReachabilities(ReachabilityService.java:82)
        at com.bizya.server.widget.BrowsingPageBuilder.buildAdditionalResultsModel(BrowsingPageBuilder.java:97)
        at com.bizya.server.widget.ContextBrowsingPageBuilder.buildAdditionalResultsModel(ContextBrowsingPageBuilder.java:81)
        at com.bizya.server.widget.ContextBrowsingPageBuilder.buildAdditionalResultsModel(ContextBrowsingPageBuilder.java:71)
        at com.bizya.server.widget.servlet.NetworkServlet.doGet(NetworkServlet.java:139)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at com.bizya.server.widget.servlet.MasterWidgetServlet.handleAuthorizedUser(MasterWidgetServlet.java:167)
        at com.bizya.server.widget.servlet.MasterWidgetServlet.service(MasterWidgetServlet.java:150)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)
        at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.ajp.AjpAprProcessor.process(AjpAprProcessor.java:429)
        at org.apache.coyote.ajp.AjpAprProtocol$AjpConnectionHandler.process(AjpAprProtocol.java:384)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1665)
        at java.lang.Thread.run(Thread.java:662)
Caused by: org.neo4j.kernel.impl.nioneo.store.InvalidRecordException: Node[1169385] is neither firstNode[969258] nor secondNode[1170375] for Relationship[3477951]
        at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:167)
        at org.neo4j.kernel.impl.nioneo.xa.ReadTransaction.getMoreRelationships(ReadTransaction.java:105)
        at org.neo4j.kernel.impl.persistence.PersistenceManager.getMoreRelationships(PersistenceManager.java:108)
        at org.neo4j.kernel.impl.core.NodeManager.getMoreRelationships(NodeManager.java:608)
        at org.neo4j.kernel.impl.core.NodeImpl.loadMoreRelationshipsFromNodeManager(NodeImpl.java:527)
        ... 38 more

IDが異なるものをさらにいくつか入手しました。

これらの例外は、特定のノードを読み込もうとしたときに一貫しています。関係を削除していなかったと確信しています。コマンドラインシェルでこれらのノードを検査すると、同じエラー(org.neo4j.graphdb.NotFoundException:1つ以上の関係を読み込めません...)が発生します。

ある種の腐敗のようです。それを修正する方法についての推奨事項はありますか?

4

2 に答える 2

4

これまでに試したことと、JVMクラッシュ後の一貫した問題を考慮して、問題の原因となる可能性のあるNeo4J1.8のバグの可能性を調査することをお勧めします。これは、この場合のように、関係識別子が原因である可能性があります。残念ながら、1.8バージョンのバグです。1.9にアップグレードするか、私が投稿したリンクから受け入れられた回答で提案された回避策を使用することを検討することをお勧めします。

これがあなたを正しい方向に向けることを願っています!そして、幸運のコーディング!

于 2013-01-23T02:22:56.027 に答える
0

ConsistencyCheckToolを試しましたか?

たとえば、(Mavenプロジェクトで)を使用してデータベースを確認できます。

<groupId>org.neo4j</groupId>
<artifactId>neo4j-consistency-check</artifactId>
<version>1.9.M02</version>

依存関係として実行:

org.neo4j.consistency.ConsistencyCheckTool.main(databasedir)

または、Neo4jエンタープライズをダウンロードして、適切なjarファイルを使用します。

于 2013-01-18T16:15:34.530 に答える