2017-12-28 14 views
-3

のNeo4jコミュニティバージョン3.3.1

が高い解約率と高い(ノード/関係のすなわち追加/削除)ノードの現在の状況番号でのNeo4j内の石蹴り実装でないNegativeArraySizeException

例外スタックトレース

Exception in thread "main" java.lang.NegativeArraySizeException 
    at org.neo4j.collection.primitive.hopscotch.IntArrayBasedKeyTable.initializeTable(IntArrayBasedKeyTable.java:54) 
    at org.neo4j.collection.primitive.hopscotch.IntArrayBasedKeyTable.<init>(IntArrayBasedKeyTable.java:48) 
    at org.neo4j.collection.primitive.hopscotch.LongKeyTable.<init>(LongKeyTable.java:27) 
    at org.neo4j.collection.primitive.hopscotch.LongKeyTable.newInstance(LongKeyTable.java:45) 
    at org.neo4j.collection.primitive.hopscotch.LongKeyTable.newInstance(LongKeyTable.java:22) 
    at org.neo4j.collection.primitive.hopscotch.PowerOfTwoQuantizedTable.grow(PowerOfTwoQuantizedTable.java:117) 
    at org.neo4j.collection.primitive.hopscotch.HopScotchHashingAlgorithm.growTable(HopScotchHashingAlgorithm.java:290) 
    at org.neo4j.collection.primitive.hopscotch.HopScotchHashingAlgorithm.put(HopScotchHashingAlgorithm.java:188) 
    at org.neo4j.collection.primitive.hopscotch.PrimitiveLongHashSet.add(PrimitiveLongHashSet.java:46) 
    at org.neo4j.kernel.impl.api.state.TxState.recordRelationshipDeleted(TxState.java:1353) 
    at org.neo4j.kernel.impl.api.state.TxState.relationshipDoDelete(TxState.java:550) 
    at org.neo4j.kernel.impl.api.state.RelationshipStateImpl.accept(RelationshipStateImpl.java:54) 
    at org.neo4j.kernel.impl.api.state.TxState.relationshipDoDeleteAddedInThisTx(TxState.java:578) 
    at org.neo4j.kernel.impl.api.StateHandlingStatementOperations.relationshipDelete(StateHandlingStatementOperations.java:472) 
    at org.neo4j.kernel.impl.api.ConstraintEnforcingEntityOperations.relationshipDelete(ConstraintEnforcingEntityOperations.java:310) 
    at org.neo4j.kernel.impl.api.LockingStatementOperations.relationshipDelete(LockingStatementOperations.java:307) 
    at org.neo4j.kernel.impl.api.OperationsFacade.relationshipDelete(OperationsFacade.java:870) 
    at org.neo4j.kernel.impl.core.RelationshipProxy.delete(RelationshipProxy.java:152) 
    at com.abakus.cmm.dictionary.Neo4jDictionary.joinPersonNode(Neo4jDictionary.java:249) 
    at com.abakus.cmm.dictionary.Neo4jDictionary.checkMergePersonNode(Neo4jDictionary.java:235) 
    at com.abakus.cmm.dictionary.Neo4jDictionary.registerRecord(Neo4jDictionary.java:205) 
    at com.abakus.cmm.dictionary.Neo4jDictionary.joinDictionary(Neo4jDictionary.java:331) 
    at com.abakus.cmm.dictionary.Neo4jLongDictionary.mergeDictionary(Neo4jLongDictionary.java:82) 
    at com.abakus.cmm.dictionary.Neo4jLongDictionary.mergeLongDictionary(Neo4jLongDictionary.java:52) 
    at com.abakus.cmm.dictionary.Neo4jLongDictionary.main(Neo4jLongDictionary.java:103) 

答えて

0

定期的にトランザクションをコミットすると、上記の問題を解決できました。ただし、TxStateコードは引き続き最適化され、ドキュメントが追加されます。一つの成分にすべてのトランザクション状態知識

  • を統合する収集ポイントとして使用されているように、このクラスは、非常に大きく、このクラスのJavadocの

    • です。その作業が完了したので、このクラスは、どのように動作するかの透明性を高めるためにリファクタリングする必要があります。
  • 関連する問題