Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.
01-13-2021 05:36 PM
Bundle: org.apache.nifi - nifi-neo4j-cypher-service-nar
Supports Controller Service: GraphClientService 1.12.0 from org.apache.nifi - nifi-graph-client-service-api-nar
I can connect
via:
[root@localhost bin]# ./cypher-shell
username: neo4j
password: ********
Connected to Neo4j 4.2.0 at neo4j://localhost:7687 as user neo4j.
Type :help for a list of available commands or :exit to exit the shell.
Note that Cypher queries must end with a semicolon.
neo4j@neo4j>
but Nifi just hangs while attempting to enable the service.
2021-01-13 20:00:02,167 ERROR [Timer-Driven Process Thread-9] o.a.n.c.s.StandardControllerServiceNode StandardControllerServiceNode[service=Neo4JCypherClientService[id=192a1810-11da-101d-b4cd-f704063cba3d], versionedComponentId=null, processGroup=StandardProcessGroup[identifier=6038b1ce-016d-1000-68fc-0a8f542cf79b,name=NiFi Flow], active=true] Failed to invoke @OnEnabled method due to org.apache.nifi.processor.exception.ProcessException: Error while getting connectionConnection to the database terminated. This can happen due to network instabilities, or due to restarts of the database: {}
org.apache.nifi.processor.exception.ProcessException: Error while getting connectionConnection to the database terminated. This can happen due to network instabilities, or due to restarts of the database
at org.apache.nifi.graph.Neo4JCypherClientService.onEnabled(Neo4JCypherClientService.java:255)
at jdk.internal.reflect.GeneratedMethodAccessor505.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:142)
at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:130)
at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:75)
at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:52)
at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:432)
at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.neo4j.driver.v1.exceptions.ServiceUnavailableException: Connection to the database terminated. This can happen due to network instabilities, or due to restarts of the database
at org.neo4j.driver.internal.util.ErrorUtil.newConnectionTerminatedError(ErrorUtil.java:45)
at org.neo4j.driver.internal.async.HandshakeHandler.channelInactive(HandshakeHandler.java:85)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:377)
at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:342)
at org.neo4j.driver.internal.shaded.io.netty.handler.ssl.SslHandler.channelInactive(SslHandler.java:1010)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at org.neo4j.driver.internal.shaded.io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:75)
at org.neo4j.driver.internal.shaded.io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:277)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:224)
at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1409)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:245)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:231)
at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:927)
at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannel$AbstractUnsafe$8.run(AbstractChannel.java:822)
at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:463)
at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:886)
at org.neo4j.driver.internal.shaded.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 common frames omitted
Are any workarounds available, I tried to use bolt as well, same issue. Thanks
01-15-2021 01:33 AM
Probably easier to post at the nifi github repo?
Perhaps they use an old driver version internally?
does it work with a 3.5 database?
01-19-2021 07:51 AM
I reverted to version 3.5.26 and that worked. Its surprising that driver incompatible is the problem after there have been so many releases of the product. I still would like to eventually get 4.2.0 working to take advantage of its new capabilities. I'll have to figure out the process to submit a bug fix. Thanks MIke!!
01-23-2021 06:23 AM
Please do at the nifi plugin, I don't know who created it or maintains it.
02-02-2021 01:12 AM
@freddie.burgess I think that the best option is to try with the query table processor via Neo4j JDBC driver:
If you have any problem please fill an issue into our GitHub repo (the one above)
02-19-2021 06:51 AM
This driver does not work with Apache Nifi, service still hangs.
02-22-2021 06:28 AM
@freddie.burgess if you only need to read data from Neo4j you can use the BI Connector which translates SQL into Cypher:
02-26-2021 03:08 PM
We fixed the problem, one of our JAVA/Nifi developers recompiled the graph bundle with the latest JAVA Driver, fixed the bugs and the Apache Nifi workflow service no longer hangs. thanks for your support.
02-03-2021 03:58 PM
Hello conker84,
I installed the driver you recommended, but the query table processor in Nifi is looking for a SQL-like syntax, what do I specify in the "table" column using the "QueryDatabaseTable" processor in Nifi?
Thanks
Freddie
All the sessions of the conference are now available online