【发布时间】:2020-07-10 12:51:21
【问题描述】:
使用 ansible 在加固的 RHEL7 上部署 NEO4j。 即使 DB 为空,也不能创建约束。关于如何调试这个或可能是什么原因的任何想法?可以创建其他对象。这似乎是一些核心库的问题...... 我们在另一个实例上进行了相同的安装,它工作正常,所以我想它一定是与部署相关的......即使没有安装错误
谢谢。
以下错误日志:
020-07-09 12:11:13.898+0000 错误 [o.n.b.v.r.ErrorReporter] 客户端触发了意外错误 [Neo.DatabaseError.Schema.ConstraintCreationFailed]: Unable to create CONSTRAINT ON (device:Equipment) ASSERT equipment.UUID IS独特的: ,参考 0a5adcde-dbeb-4ef0-b9aa-9bf32ef58e63。 2020-07-09 12:11:13.898+0000 错误 [o.n.b.v.r.ErrorReporter] 客户端触发了意外错误 [Neo.DatabaseError.Schema.ConstraintCreationFailed]:无法在(设备:设备)断言设备上创建约束。UUID 是唯一的: ,参考 0a5adcde-dbeb-4ef0-b9aa-9bf32ef58e63。无法在 (设备:设备) 断言设备上创建约束。UUID 是唯一的:
org.neo4j.kernel.impl.query.QueryExecutionKernelException: Unable to create CONSTRAINT ON (equipment:Equipment) ASSERT equipment.UUID 是唯一的:
at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:158)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State.startExecution(TransactionStateMachine.java:444)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.execute(TransactionStateMachine.java:259)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine$State$1.run(TransactionStateMachine.java:240)
at org.neo4j.bolt.v1.runtime.TransactionStateMachine.run(TransactionStateMachine.java:81)
at org.neo4j.bolt.v1.runtime.BoltStateMachine$State$2.run(BoltStateMachine.java:457)
at org.neo4j.bolt.v1.runtime.BoltStateMachine.run(BoltStateMachine.java:225)
at org.neo4j.bolt.v1.messaging.BoltMessageRouter.lambda$onRun$3(BoltMessageRouter.java:93)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.lambda$enqueue$0(MetricsReportingBoltConnection.java:69)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:195)
at org.neo4j.bolt.runtime.MetricsReportingBoltConnection.processNextBatch(MetricsReportingBoltConnection.java:87)
at org.neo4j.bolt.runtime.DefaultBoltConnection.processNextBatch(DefaultBoltConnection.java:143)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.executeBatch(ExecutorBoltScheduler.java:170)
at org.neo4j.bolt.runtime.ExecutorBoltScheduler.lambda$scheduleBatchOrHandleError$2(ExecutorBoltScheduler.java:153)
at java.util.concurrent.CompletableFuture$AsyncSupply.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
原因:org.neo4j.kernel.impl.query.QueryExecutionKernelException: Unable to create CONSTRAINT ON (equipment:Equipment) ASSERT equipment.UUID 是唯一的:
at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:65)
at org.neo4j.bolt.v1.runtime.TransactionStateMachineSPI$1.start(TransactionStateMachineSPI.java:144)
... 17 more
原因:org.neo4j.cypher.CypherExecutionException: Unable to create CONSTRAINT ON (equipment:Equipment) ASSERT equipment.UUID 是唯一的:
at org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:35)
at org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingQueryContext.translateException(ExceptionTranslatingQueryContext.scala:41)
at org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingQueryContext.createUniqueConstraint(ExceptionTranslatingQueryContext.scala:128)
at org.neo4j.cypher.internal.runtime.interpreted.UpdateCountingQueryContext.createUniqueConstraint(UpdateCountingQueryContext.scala:125)
at org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs.ProcedureCallOrSchemaCommandExecutionPlanBuilder$$anonfun$6.apply(ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala:80)
at org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs.ProcedureCallOrSchemaCommandExecutionPlanBuilder$$anonfun$6.apply(ProcedureCallOrSchemaCommandExecutionPlanBuilder.scala:78)
at org.neo4j.cypher.internal.compatibility.v3_4.runtime.executionplan.procs.PureSideEffectExecutionPlan.run(PureSideEffectExecutionPlan.scala:55)
at org.neo4j.cypher.internal.compatibility.LatestRuntimeVariablePlannerCompatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(LatestRuntimeVariablePlannerCompatibility.scala:128)
at org.neo4j.cypher.internal.compatibility.LatestRuntimeVariablePlannerCompatibility$ExecutionPlanWrapper$$anonfun$run$1.apply(LatestRuntimeVariablePlannerCompatibility.scala:124)
at org.neo4j.cypher.exceptionHandler$runSafely$.apply(exceptionHandler.scala:89)
at org.neo4j.cypher.internal.compatibility.LatestRuntimeVariablePlannerCompatibility$ExecutionPlanWrapper.run(LatestRuntimeVariablePlannerCompatibility.scala:124)
at org.neo4j.cypher.internal.PreparedPlanExecution.execute(PreparedPlanExecution.scala:29)
at org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:119)
at org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:61)
... 18 more
原因:org.neo4j.kernel.api.exceptions.schema.CreateConstraintFailureException:无法创建约束org.neo4j.kernel.api.schema.consttaints.UniquenessConstraintDescriptor@6:现有数据不满足CONSTRAINT ON(label[ 1]:label[1] ) ASSERT label[1].property[0] 是唯一的:无法填充索引:Equipment(UUID) [provider: {key=lucene+native, version=2.0}] [labelId: 1 , 属性 [0]] 在 org.neo4j.kernel.impl.newapi.Operations.indexBackedConstraintCreate(Operations.java:1239) 在 org.neo4j.kernel.impl.newapi.Operations.uniquePropertyConstraintCreate(Operations.java:943) 在 org.neo4j.internal.kernel.api.SchemaWrite.uniquePropertyConstraintCreate(SchemaWrite.java:66) 在 org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundQueryContext.createUniqueConstraint(TransactionBoundQueryContext.scala:670) 在 org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingQueryContext$$anonfun$createUniqueConstraint$1.apply$mcZ$sp(ExceptionTranslatingQueryContext.scala:128) 在 org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingQueryContext$$anonfun$createUniqueConstraint$1.apply(ExceptionTranslatingQueryContext.scala:128) 在 org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingQueryContext$$anonfun$createUniqueConstraint$1.apply(ExceptionTranslatingQueryContext.scala:128) 在 org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:33) ... 31 更多 引起:org.neo4j.kernel.api.exceptions.schema.UniquePropertyValueValidationException: 现有数据不满足 CONSTRAINT ON (label[1]:label[1]) ASSERT label[1].property[0] IS UNIQUE: Failed to填充索引:Equipment(UUID) [provider: {key=lucene+native, version=2.0}] [labelId: 1, properties [0]] 在 org.neo4j.kernel.impl.api.state.ConstraintIndexCreator.awaitConstrainIndexPopulation(ConstraintIndexCreator.java:244) 在 org.neo4j.kernel.impl.api.state.ConstraintIndexCreator.createUniquenessConstraintIndex(ConstraintIndexCreator.java:135) 在 org.neo4j.kernel.impl.newapi.Operations.indexBackedConstraintCreate(Operations.java:1224) ... 38 更多 引起:org.neo4j.kernel.api.exceptions.index.IndexPopulationFailedKernelException:无法填充索引:设备(UUID)[提供者:{key=lucene+native,版本=2.0}] [labelId:1,属性[0 ]] 在 org.neo4j.kernel.impl.api.index.IndexPopulationFailure$1.asIndexPopulationFailure(IndexPopulationFailure.java:47) 在 org.neo4j.kernel.impl.api.index.FailedIndexProxy.failureCause(FailedIndexProxy.java:80) 在 org.neo4j.kernel.impl.api.index.FailedIndexProxy.awaitStoreScanCompleted(FailedIndexProxy.java:75) 在 org.neo4j.kernel.impl.api.index.FlippableIndexProxy.awaitStoreScanCompleted(FlippableIndexProxy.java:325) 在 org.neo4j.kernel.impl.api.index.AbstractDelegatingIndexProxy.awaitStoreScanCompleted(AbstractDelegatingIndexProxy.java:122) 在 org.neo4j.kernel.impl.api.state.ConstraintIndexCreator.awaitConstrainIndexPopulation(ConstraintIndexCreator.java:232) ... 40 更多 引起:java.lang.NoSuchMethodError: org.apache.lucene.codecs.blocktree.BlockTreeTermsWriter.validateAutoPrefixSettings(II)V 在 org.apache.lucene.codecs.autoprefix.AutoPrefixPostingsFormat.(AutoPrefixPostingsFormat.java:77) 在 org.apache.lucene.codecs.autoprefix.AutoPrefixPostingsFormat.(AutoPrefixPostingsFormat.java:52) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源) 在 java.lang.reflect.Constructor.newInstance(未知来源) 在 java.lang.Class.newInstance(未知来源) 在 org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:72) 在 org.apache.lucene.util.NamedSPILoader.(NamedSPILoader.java:51) 在 org.apache.lucene.util.NamedSPILoader.(NamedSPILoader.java:38) 在 org.apache.lucene.codecs.PostingsFormat$Holder.(PostingsFormat.java:49) 在 org.apache.lucene.codecs.PostingsFormat.forName(PostingsFormat.java:112) 在 org.apache.lucene.codecs.lucene62.Lucene62Codec.(Lucene62Codec.java:167) 在 org.apache.lucene.codecs.lucene62.Lucene62Codec.(Lucene62Codec.java:82) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(未知来源) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知来源) 在 java.lang.reflect.Constructor.newInstance(未知来源) 在 java.lang.Class.newInstance(未知来源) 在 org.apache.lucene.util.NamedSPILoader.reload(NamedSPILoader.java:72) 在 org.apache.lucene.util.NamedSPILoader.(NamedSPILoader.java:51) 在 org.apache.lucene.util.NamedSPILoader.(NamedSPILoader.java:38) 在 org.apache.lucene.codecs.Codec$Holder.(Codec.java:47) 在 org.apache.lucene.codecs.Codec.getDefault(Codec.java:143) 在 org.apache.lucene.index.LiveIndexWriterConfig.(LiveIndexWriterConfig.java:121) 在 org.apache.lucene.index.IndexWriterConfig.(IndexWriterConfig.java:151) 在 org.neo4j.kernel.api.impl.index.IndexWriterConfigs.standard(IndexWriterConfigs.java:81) 在 org.neo4j.kernel.api.impl.index.IndexWriterConfigs.population(IndexWriterConfigs.java:119) 在 org.neo4j.kernel.api.impl.index.IndexWriterConfigs.population(IndexWriterConfigs.java:114) 在 org.neo4j.kernel.api.impl.index.partition.WritableIndexPartitionFactory.createPartition(WritableIndexPartitionFactory.java:45) 在 org.neo4j.kernel.api.impl.index.AbstractLuceneIndex.open(AbstractLuceneIndex.java:103) 在 org.neo4j.kernel.api.impl.index.WritableAbstractDatabaseIndex.open(WritableAbstractDatabaseIndex.java:62) 在 org.neo4j.kernel.api.impl.schema.populator.LuceneIndexPopulator.create(LuceneIndexPopulator.java:51) 在 org.neo4j.kernel.impl.index.schema.fusion.InstanceSelector.consume(InstanceSelector.java:147) 在 org.neo4j.kernel.impl.index.schema.fusion.InstanceSelector.forAll(InstanceSelector.java:90) 在 org.neo4j.kernel.impl.index.schema.fusion.FusionIndexPopulator.create(FusionIndexPopulator.java:56) 在 org.neo4j.kernel.impl.api.index.MultipleIndexPopulator$IndexPopulation.create(MultipleIndexPopulator.java:525) 在 org.neo4j.kernel.impl.api.index.MultipleIndexPopulator.lambda$create$0(MultipleIndexPopulator.java:144) 在 org.neo4j.kernel.impl.api.index.MultipleIndexPopulator.forEachPopulation(MultipleIndexPopulator.java:408) 在 org.neo4j.kernel.impl.api.index.MultipleIndexPopulator.create(MultipleIndexPopulator.java:141) 在 org.neo4j.kernel.impl.api.index.IndexPopulationJob.run(IndexPopulationJob.java:103) 在 org.neo4j.kernel.impl.api.index.IndexPopulationJobController$IndexPopulationJobWrapper.run(IndexPopulationJobController.java:82) 在 org.neo4j.kernel.impl.scheduler.ThreadPool.lambda$submit$0(ThreadPool.java:58) 在 java.util.concurrent.Executors$RunnableAdapter.call(未知来源) 在 java.util.concurrent.FutureTask.run(未知来源) ... 3 更多
【问题讨论】: