neo4j-contrib / spatial

Neo4j Spatial is a library of utilities for Neo4j that faciliates the enabling of spatial operations on data. In particular you can add spatial indexes to already located data, and perform spatial operations on the data like searching for data within specified regions or within a specified distance of a point of interest. In addition classes are provided to expose the data to geotools and thereby to geotools enabled applications like geoserver and uDig.

Home Page:http://neo4j-contrib.github.io/spatial

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.