Is APOC 3.5.0.16 broken?

Hi, several of our devs have been using various Neo4j v3.5.x versions with APOC (in docker containers), and these containers will not start this afternoon. It appears (to me) that the APOC update early this afternoon may be the cause.

The error given is:
Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@68809cc7' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@68809cc7' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".

The full stack trace in the log is below, but does anyone know if that APOC version is causing the issue, and if so if there is an easy way to get the (official Neo4j) docker container to use the 'old' version?

Log (this is for v3.5.20, but we tried with a new v3.5.30 and the same error occurs):

Fetching versions.json for Plugin 'apoc' from https://neo4j-contrib.github.io/neo4j-apoc-procedures/versions.json
Installing Plugin 'apoc' from https://github.com/neo4j-contrib/neo4j-apoc-procedures/releases/download/3.5.0.16/apoc-3.5.0.16-all.jar to /var/lib/neo4j/plugins/apoc.jar 
Applying default values for plugin apoc to neo4j.conf
Skipping dbms.security.procedures.unrestricted for plugin apoc because it is already set
Active database: graph.db
Directories in use:
  home:         /var/lib/neo4j
  config:       /var/lib/neo4j/conf
  logs:         /logs
  plugins:      /var/lib/neo4j/plugins
  import:       /var/lib/neo4j/import
  data:         /var/lib/neo4j/data
  certificates: /var/lib/neo4j/certificates
  run:          /var/lib/neo4j/run
Starting Neo4j.
2022-01-19 15:40:40.210+0000 INFO  ======== Neo4j 3.5.20 ========
2022-01-19 15:40:40.223+0000 INFO  Starting...
2022-01-19 15:40:42.888+0000 ERROR Failed to start Neo4j: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3241713e' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException". Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3241713e' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
org.neo4j.server.ServerStartupException: Starting Neo4j failed: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3241713e' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
	at org.neo4j.server.exception.ServerStartupErrors.translateToServerStartupError(ServerStartupErrors.java:45)
	at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:187)
	at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:124)
	at org.neo4j.server.ServerBootstrapper.start(ServerBootstrapper.java:91)
	at org.neo4j.server.CommunityEntryPoint.main(CommunityEntryPoint.java:32)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.server.database.LifecycleManagingDatabase@3241713e' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:473)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.server.AbstractNeoServer.start(AbstractNeoServer.java:180)
	... 3 more
Caused by: java.lang.RuntimeException: Error starting org.neo4j.graphdb.facade.GraphDatabaseFacadeFactory, /data/databases
	at org.neo4j.graphdb.facade.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:232)
	at org.neo4j.graphdb.facade.GraphDatabaseFacadeFactory.newFacade(GraphDatabaseFacadeFactory.java:148)
	at org.neo4j.server.database.CommunityGraphFactory.newGraphDatabase(CommunityGraphFactory.java:41)
	at org.neo4j.server.database.LifecycleManagingDatabase.start(LifecycleManagingDatabase.java:90)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	... 5 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.NeoStoreDataSource@783ec989' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:473)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.kernel.impl.transaction.state.DataSourceManager.start(DataSourceManager.java:116)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.graphdb.facade.GraphDatabaseFacadeFactory.initFacade(GraphDatabaseFacadeFactory.java:227)
	... 9 more
Caused by: java.lang.RuntimeException: org.neo4j.kernel.lifecycle.LifecycleException: Component 'apoc.ApocKernelExtensionFactory$ApocLifecycle@720653c2' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
	at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:459)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	... 14 more
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component 'apoc.ApocKernelExtensionFactory$ApocLifecycle@720653c2' was successfully initialized, but failed to start. Please see the attached cause exception "org.apache.commons.httpclient.URIException".
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:473)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.kernel.extension.AbstractKernelExtensions.start(AbstractKernelExtensions.java:82)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:111)
	at org.neo4j.kernel.NeoStoreDataSource.start(NeoStoreDataSource.java:443)
	... 15 more
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/httpclient/URIException
	at apoc.ApocConfiguration.<clinit>(ApocConfiguration.java:32)
	at apoc.ApocKernelExtensionFactory$ApocLifecycle.start(ApocKernelExtensionFactory.java:82)
	at org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:452)
	... 22 more
Caused by: java.lang.ClassNotFoundException: org.apache.commons.httpclient.URIException
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	... 25 more
2022-01-19 15:40:42.890+0000 INFO  Neo4j Server shutdown initiated by request

@craigknowles

I'm able to reproduce the same failure with Neo4j 3.5.14 ( simply because I already had it downloaded / installed ) and APOC 3.5.0.16

Let me report to engineering

Hi @craigknowles tomorrow we'll do a new release with the fix.
Thank you so much for reporting this.
Andrea

@craigknowles the new release is out:

Thank you both for the quick turn around on this, the new release fixes the problem for us.

1 Like