Spatial plugin loading but the procedures are not working
smadurange opened this issue · comments
I'm using neo4j server version 3.4.5 on linux (CentOS). In my plugin directory I have the plugins graph-algorithms-algo-3.3.2.0.jar
and neo4j-spatial-0.25-neo4j-3.3.0-server-plugin.jar
. I can run procedures in the algo plugin without a problem. However, when I run, for example, CALL spatial.addPointLayer('something')
from the browser, I get the following error:
Neo.ClientError.Procedure.ProcedureNotFound: There is no procedure with the name spatial.addPointLayer registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.
I already looked in the plugins directory and the jar file is there alright. In the neo4j logs I can see the following logs which seems to indicate that the plugin was loaded successfully during the restart:
2018-08-11 07:38:51.566+0000 INFO ======== Neo4j 3.4.5 ========
2018-08-11 07:38:51.637+0000 INFO Starting...
2018-08-11 07:38:54.211+0000 INFO Initiating metrics...
2018-08-11 07:38:57.082+0000 INFO Sending metrics to CSV file at /var/lib/neo4j/metrics
2018-08-11 07:38:57.746+0000 INFO Bolt enabled on 0.0.0.0:7687.
2018-08-11 07:39:00.166+0000 WARN Server thread metrics not available (missing neo4j.server.threads.jetty.all)
2018-08-11 07:39:00.167+0000 WARN Server thread metrics not available (missing neo4j.server.threads.jetty.idle)
2018-08-11 07:39:11.121+0000 INFO Started.
2018-08-11 07:39:11.573+0000 INFO Mounted REST API at: /db/manage
2018-08-11 07:39:11.634+0000 INFO Loaded server plugin "SpatialPlugin"
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addSimplePointLayer: add a new layer specialized at storing simple point location data
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addNodesToLayer: adds many geometry nodes (about 10k-50k) to a layer, as long as the nodes contain the geometry information appropriate to this layer.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.findClosestGeometries: search a layer for the closest geometries and return them.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addGeometryWKTToLayer: add a geometry specified in WKT format to a layer, encoding in the specified layers encoding schemea.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.findGeometriesWithinDistance: search a layer for geometries within a distance of a point. To achieve more complex CQL searches, pre-define the dynamic layer with addCQLDynamicLayer.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addEditableLayer: add a new layer specialized at storing generic geometry data in WKB
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addCQLDynamicLayer: add a new dynamic layer exposing a filtered view of an existing layer
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.addNodeToLayer: add a geometry node to a layer, as long as the node contains the geometry information appropriate to this layer.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.getLayer: find an existing layer
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.findGeometriesInBBox: search a layer for geometries in a bounding box. To achieve more complex CQL searches, pre-define the dynamic layer with addCQLDynamicLayer.
2018-08-11 07:39:11.636+0000 INFO GraphDatabaseService.findGeometriesIntersectingBBox: search a layer for geometries intersecting a bounding box. To achieve more complex CQL searches, pre-define the dynamic layer with addCQLDynamicLayer.
2018-08-11 07:39:11.721+0000 WARN Acceptors should be <= availableProcessors: ServerConnector@3035b9e6{HTTP/1.1,[http/1.1]}{0.0.0.0:0}
2018-08-11 07:39:11.761+0000 WARN Acceptors should be <= availableProcessors: ServerConnector@5f9f6511{SSL,[ssl, http/1.1]}{0.0.0.0:0}
2018-08-11 07:39:11.762+0000 INFO Server thread metrics has been registered successfully
Also, when I try curl -u my_user:my_secret http://localhost:7474/db/data/
I get
{
"extensions" : {
"SpatialPlugin" : {
"addSimplePointLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addSimplePointLayer",
"addNodesToLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addNodesToLayer",
"findClosestGeometries" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findClosestGeometries",
"addGeometryWKTToLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addGeometryWKTToLayer",
"findGeometriesWithinDistance" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findGeometriesWithinDistance",
"addEditableLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addEditableLayer",
"addCQLDynamicLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addCQLDynamicLayer",
"addNodeToLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/addNodeToLayer",
"getLayer" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/getLayer",
"findGeometriesInBBox" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findGeometriesInBBox",
"findGeometriesIntersectingBBox" : "http://localhost:7474/db/data/ext/SpatialPlugin/graphdb/findGeometriesIntersectingBBox"
}
},
"node" : "http://localhost:7474/db/data/node",
"relationship" : "http://localhost:7474/db/data/relationship",
"node_index" : "http://localhost:7474/db/data/index/node",
"relationship_index" : "http://localhost:7474/db/data/index/relationship",
"extensions_info" : "http://localhost:7474/db/data/ext",
"relationship_types" : "http://localhost:7474/db/data/relationship/types",
"batch" : "http://localhost:7474/db/data/batch",
"cypher" : "http://localhost:7474/db/data/cypher",
"indexes" : "http://localhost:7474/db/data/schema/index",
"constraints" : "http://localhost:7474/db/data/schema/constraint",
"transaction" : "http://localhost:7474/db/data/transaction",
"node_labels" : "http://localhost:7474/db/data/labels",
"neo4j_version" : "3.4.5"
Which also indicates that the plugin is loaded correctly. However, if I try curl -u my_user:my_pass -H "Content-Type: application/json" -X POST -d '{"query":"CALL spatial.procedures"}' http://localhost:7474/db/data/cypher
, I get the following error:
{
"message" : "There is no procedure with the name `spatial.procedures` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.",
"exception" : "CypherExecutionException",
"fullname" : "org.neo4j.cypher.CypherExecutionException",
"stackTrace" : [ "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:35)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext.translateException(ExceptionTranslatingPlanContext.scala:26)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext.procedureSignature(ExceptionTranslatingPlanContext.scala:52)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48)", "org.neo4j.cypher.internal.v3_4.logical.plans.ResolvedCall$.apply(ResolvedCall.scala:35)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1.applyOrElse(RewriteProcedureCalls.scala:48)", "scala.PartialFunction$OrElse.apply(PartialFunction.scala:167)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116)", "org.neo4j.cypher.internal.util.v3_4.bottomUp$BottomUpRewriter.rec(Rewritable.scala:219)", "org.neo4j.cypher.internal.util.v3_4.bottomUp$BottomUpRewriter.apply(Rewritable.scala:204)", "scala.Function1$$anonfun$andThen$1.apply(Function1.scala:52)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.endoRewrite$extension(Rewritable.scala:125)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:72)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.phases.Phase$$anonfun$transform$1.apply(Phase.scala:36)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$$anonfun$closing$1.apply(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$$anonfun$closing$1.apply(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$.using(package.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$.closing(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.phases.Phase$class.transform(Phase.scala:35)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.transform(RewriteProcedureCalls.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.phases.PipeLine.transform(Transformer.scala:58)", "org.neo4j.cypher.internal.frontend.v3_4.phases.PipeLine.transform(Transformer.scala:58)", "org.neo4j.cypher.internal.compiler.v3_4.CypherCompiler.normalizeQuery(CypherCompiler.scala:43)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1$$anonfun$plan$1.apply(Compatibility.scala:118)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1$$anonfun$plan$1.apply(Compatibility.scala:104)", "org.neo4j.cypher.exceptionHandler$runSafely$.apply(exceptionHandler.scala:89)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1.plan(Compatibility.scala:104)", "org.neo4j.cypher.internal.ExecutionEngine$$anon$3.produceWithExistingTX(ExecutionEngine.scala:185)", "org.neo4j.cypher.internal.ExecutionEngine$$anon$3.produceWithExistingTX(ExecutionEngine.scala:182)", "org.neo4j.cypher.internal.compatibility.QueryCache$$anonfun$1.apply(CacheAccessor.scala:41)", "org.neo4j.cypher.internal.compatibility.MonitoringCacheAccessor$$anonfun$2.apply(CacheAccessor.scala:68)", "org.neo4j.cypher.internal.compatibility.LFUCache$$anon$1.apply(LFUCache.scala:31)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2039)", "java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2037)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2020)", "com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)", "com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:54)", "org.neo4j.cypher.internal.compatibility.LFUCache.getOrElseUpdate(LFUCache.scala:30)", "org.neo4j.cypher.internal.compatibility.LFUCache.apply(LFUCache.scala:48)", "org.neo4j.cypher.internal.compatibility.MonitoringCacheAccessor.getOrElseUpdate(CacheAccessor.scala:66)", "org.neo4j.cypher.internal.compatibility.QueryCache.getOrElseUpdate(CacheAccessor.scala:39)", "org.neo4j.cypher.internal.ExecutionEngine.liftedTree1$1(ExecutionEngine.scala:190)", "org.neo4j.cypher.internal.ExecutionEngine.planQuery(ExecutionEngine.scala:172)", "org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:115)", "org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:111)", "org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:75)", "org.neo4j.server.rest.web.CypherService.cypher(CypherService.java:131)", "java.lang.reflect.Method.invoke(Method.java:498)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:147)", "org.neo4j.server.rest.dbms.AuthorizationEnabledFilter.doFilter(AuthorizationEnabledFilter.java:123)", "org.neo4j.server.rest.web.CorsFilter.doFilter(CorsFilter.java:115)", "org.neo4j.server.rest.web.CollectUserAgentFilter.doFilter(CollectUserAgentFilter.java:69)", "java.lang.Thread.run(Thread.java:748)" ],
"cause" : {
"exception" : "ProcedureException",
"fullname" : "org.neo4j.internal.kernel.api.exceptions.ProcedureException",
"stackTrace" : [ "org.neo4j.kernel.impl.proc.ProcedureRegistry.noSuchProcedure(ProcedureRegistry.java:276)", "org.neo4j.kernel.impl.proc.ProcedureRegistry.procedure(ProcedureRegistry.java:171)", "org.neo4j.kernel.impl.proc.Procedures.procedure(Procedures.java:258)", "org.neo4j.kernel.impl.newapi.AllStoreHolder.procedureGet(AllStoreHolder.java:803)", "org.neo4j.cypher.internal.runtime.interpreted.TransactionBoundPlanContext.procedureSignature(TransactionBoundPlanContext.scala:138)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext$$anonfun$procedureSignature$1.apply(ExceptionTranslatingPlanContext.scala:52)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext$$anonfun$procedureSignature$1.apply(ExceptionTranslatingPlanContext.scala:52)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslationSupport$class.translateException(ExceptionTranslationSupport.scala:33)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext.translateException(ExceptionTranslatingPlanContext.scala:26)", "org.neo4j.cypher.internal.compatibility.v3_4.ExceptionTranslatingPlanContext.procedureSignature(ExceptionTranslatingPlanContext.scala:52)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1$$anonfun$2.apply(RewriteProcedureCalls.scala:48)", "org.neo4j.cypher.internal.v3_4.logical.plans.ResolvedCall$.apply(ResolvedCall.scala:35)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$$anonfun$resolverProcedureCall$1.applyOrElse(RewriteProcedureCalls.scala:48)", "scala.PartialFunction$OrElse.apply(PartialFunction.scala:167)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116)", "org.neo4j.cypher.internal.util.v3_4.bottomUp$BottomUpRewriter.rec(Rewritable.scala:219)", "org.neo4j.cypher.internal.util.v3_4.bottomUp$BottomUpRewriter.apply(Rewritable.scala:204)", "scala.Function1$$anonfun$andThen$1.apply(Function1.scala:52)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.rewrite$extension0(Rewritable.scala:116)", "org.neo4j.cypher.internal.util.v3_4.Rewritable$RewritableAny$.endoRewrite$extension(Rewritable.scala:125)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:72)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.process(RewriteProcedureCalls.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.phases.Phase$$anonfun$transform$1.apply(Phase.scala:36)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$$anonfun$closing$1.apply(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$$anonfun$closing$1.apply(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$.using(package.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.helpers.package$.closing(package.scala:24)", "org.neo4j.cypher.internal.frontend.v3_4.phases.Phase$class.transform(Phase.scala:35)", "org.neo4j.cypher.internal.compiler.v3_4.phases.RewriteProcedureCalls$.transform(RewriteProcedureCalls.scala:32)", "org.neo4j.cypher.internal.frontend.v3_4.phases.PipeLine.transform(Transformer.scala:58)", "org.neo4j.cypher.internal.frontend.v3_4.phases.PipeLine.transform(Transformer.scala:58)", "org.neo4j.cypher.internal.compiler.v3_4.CypherCompiler.normalizeQuery(CypherCompiler.scala:43)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1$$anonfun$plan$1.apply(Compatibility.scala:118)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1$$anonfun$plan$1.apply(Compatibility.scala:104)", "org.neo4j.cypher.exceptionHandler$runSafely$.apply(exceptionHandler.scala:89)", "org.neo4j.cypher.internal.compatibility.v3_4.Compatibility$$anon$1.plan(Compatibility.scala:104)", "org.neo4j.cypher.internal.ExecutionEngine$$anon$3.produceWithExistingTX(ExecutionEngine.scala:185)", "org.neo4j.cypher.internal.ExecutionEngine$$anon$3.produceWithExistingTX(ExecutionEngine.scala:182)", "org.neo4j.cypher.internal.compatibility.QueryCache$$anonfun$1.apply(CacheAccessor.scala:41)", "org.neo4j.cypher.internal.compatibility.MonitoringCacheAccessor$$anonfun$2.apply(CacheAccessor.scala:68)", "org.neo4j.cypher.internal.compatibility.LFUCache$$anon$1.apply(LFUCache.scala:31)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$14(BoundedLocalCache.java:2039)", "java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1853)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2037)", "com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2020)", "com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:112)", "com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:54)", "org.neo4j.cypher.internal.compatibility.LFUCache.getOrElseUpdate(LFUCache.scala:30)", "org.neo4j.cypher.internal.compatibility.LFUCache.apply(LFUCache.scala:48)", "org.neo4j.cypher.internal.compatibility.MonitoringCacheAccessor.getOrElseUpdate(CacheAccessor.scala:66)", "org.neo4j.cypher.internal.compatibility.QueryCache.getOrElseUpdate(CacheAccessor.scala:39)", "org.neo4j.cypher.internal.ExecutionEngine.liftedTree1$1(ExecutionEngine.scala:190)", "org.neo4j.cypher.internal.ExecutionEngine.planQuery(ExecutionEngine.scala:172)", "org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:115)", "org.neo4j.cypher.internal.ExecutionEngine.execute(ExecutionEngine.scala:111)", "org.neo4j.cypher.internal.javacompat.ExecutionEngine.executeQuery(ExecutionEngine.java:75)", "org.neo4j.server.rest.web.CypherService.cypher(CypherService.java:131)", "java.lang.reflect.Method.invoke(Method.java:498)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:147)", "org.neo4j.server.rest.dbms.AuthorizationEnabledFilter.doFilter(AuthorizationEnabledFilter.java:123)", "org.neo4j.server.rest.web.CorsFilter.doFilter(CorsFilter.java:115)", "org.neo4j.server.rest.web.CollectUserAgentFilter.doFilter(CollectUserAgentFilter.java:69)", "java.lang.Thread.run(Thread.java:748)" ],
"message" : "There is no procedure with the name `spatial.procedures` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed.",
"errors" : [ {
"code" : "Neo.ClientError.Procedure.ProcedureNotFound",
"message" : "There is no procedure with the name `spatial.procedures` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed."
} ]
},
"errors" : [ {
"code" : "Neo.ClientError.Procedure.ProcedureNotFound",
"message" : "There is no procedure with the name `spatial.procedures` registered for this database instance. Please ensure you've spelled the procedure name correctly and that the procedure is properly deployed."
} ]
}
I also tried getting the latest version of the spatial package: neo4j-spatial-0.25.6-neo4j-3.4.5-server-plugin.jar
but I get a new error during server restart:
ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@2b7962a2' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@2b7962a2' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".
org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@2b7962a2' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".
at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:68)
at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:220)
at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:111)
at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:79)
at com.neo4j.server.enterprise.CommercialEntryPoint.main(CommercialEntryPoint.java:22)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@2b7962a2' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:212)
... 3 more
Caused by: java.lang.RuntimeException: Error starting org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory, /var/lib/neo4j/data/databases/graph.db
at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:212)
at org.neo4j.kernel.enterprise.EnterpriseGraphDatabase.<init>(EnterpriseGraphDatabase.java:39)
at org.neo4j.server.enterprise.OpenEnterpriseNeoServer.lambda$static$1(OpenEnterpriseNeoServer.java:78)
at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:88)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
... 5 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.impl.proc.Procedures@6b1dc20f' was successfully initialized, but failed to start. Please see the attached cause exception "Some jar procedure files are invalid, see log for details.".
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:466)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:107)
at org.neo4j.kernel.impl.factory.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:208)
... 9 more
Caused by: java.util.zip.ZipException: Some jar procedure files are invalid, see log for details.
at org.neo4j.kernel.impl.proc.ProcedureJarLoader.loadProceduresFromDir(ProcedureJarLoader.java:76)
at org.neo4j.kernel.impl.proc.Procedures.start(Procedures.java:323)
at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:445)
... 11 more
I'll comment on two aspects separately:
- It is not supported to load the spatial plugin for Neo4j 3.3 into Neo4j 3.4, so the first part of your question is answered. The fact that you could see the REST API, is because the REST Plugin loading is done separately from the procedures plugin loading. The first succeeded, but the second failed.
- When you tried to load the correct plugin
neo4j-spatial-0.25.6-neo4j-3.4.5-server-plugin.jar
you got a different error about invalid JAR files. I've downloaded that plugin and tried in now in both neo4j-community-3.4.5 and neo4j-enterprise-3.4.4 and it working fine in both.
I think one of your JAR files in the plugin directory is likely corrupted. I do not know which one. You could re-download and re-install all of them. Or, if you suspect the spatial plugin, just download and re-install that.
For comparison, my jar is 16133772 bytes and has MD5 of f7f0d99f6f18923c9b7d6520c7ceeb27
.
Thanks @craigtaverner . You were right, my jar file was corrupted.