Norconex / committer-neo4j

Implementation of Norconex Committer for Neo4j.
https://opensource.norconex.com/committers/neo4j/
Apache License 2.0
2 stars 1 forks source link

Neo4j committer: ERROR [JobSuite] Execution failed for job: Minimum Test Page #1

Closed Segsger closed 5 years ago

Segsger commented 5 years ago

Installed HTTP Collector and Neo4j committer, then changed committer of example minimum test to neo4j committer. It gives following error:

INFO [AbstractFileQueueCommitter] Committing 1 files Oct 02, 2019 7:20:55 PM org.neo4j.driver.internal.logging.JULogger info INFO: Direct driver instance 448782465 created for server address 10.0.0.41:7687 INFO [Neo4jCommitter] loadDriverWithBasicAuth () Neo4j Driver loaded with BASIC Auth INFO [AbstractCrawler] Minimum Test Page: Crawler executed in 6 seconds. INFO [SitemapStore] Minimum Test Page: Closing sitemap store... ERROR [JobSuite] Execution failed for job: Minimum Test Page org.neo4j.driver.v1.exceptions.ClientException: Invalid input ':': expected whitespace, a property key name, '}', an identifier or UnsignedDecimalInteger (line 1, column 30 (offset: 29)) "MERGE (a:CommittedDocument{:$source_id}) MERGE (a)-[:WITH_CONTENT]->(content:CommittedDocument_content{source:$source_id}) SET content.=$source_content MERGE (a)-[:WITH_META]->(metadata:CommittedDocument_metadata {source:$source_id}) SET metadata+=$source_metadata " ^ at org.neo4j.driver.internal.util.ErrorUtil.newNeo4jError(ErrorUtil.java:62) at org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher.handleFailureMessage(InboundMessageDispatcher.java:141) at org.neo4j.driver.internal.messaging.PackStreamMessageFormatV1$ReaderV1.unpackFailureMessage(PackStreamMessageFormatV1.java:337) at org.neo4j.driver.internal.messaging.PackStreamMessageFormatV1$ReaderV1.read(PackStreamMessageFormatV1.java:301) at org.neo4j.driver.internal.async.inbound.InboundMessageHandler.channelRead0(InboundMessageHandler.java:83) at org.neo4j.driver.internal.async.inbound.InboundMessageHandler.channelRead0(InboundMessageHandler.java:35) at org.neo4j.driver.internal.shaded.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) at org.neo4j.driver.internal.async.inbound.MessageDecoder.channelRead(MessageDecoder.java:40) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at org.neo4j.driver.internal.shaded.io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1389) at org.neo4j.driver.internal.shaded.io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1159) at org.neo4j.driver.internal.shaded.io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1203) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) at org.neo4j.driver.internal.shaded.io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1414) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) at org.neo4j.driver.internal.shaded.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) at org.neo4j.driver.internal.shaded.io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:945) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:146) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:545) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) 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) at java.base/java.lang.Thread.run(Thread.java:834) Suppressed: org.neo4j.driver.v1.exceptions.ClientException: Transaction rolled back even if marked as successful ... 44 more INFO [JobSuite] Running Minimum Test Page: END (Wed Oct 02 19:20:49 ULAT 2019) Oct 02, 2019 9:33:07 PM org.neo4j.driver.internal.logging.JULogger error SEVERE: [0x2f8b2f31] Fatal error occurred in the pipeline java.io.IOException: Connection timed out at java.base/sun.nio.ch.FileDispatcherImpl.read0(Native Method) at java.base/sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) at java.base/sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:276) at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:233) at java.base/sun.nio.ch.IOUtil.read(IOUtil.java:223) at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:358) at org.neo4j.driver.internal.shaded.io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288) at org.neo4j.driver.internal.shaded.io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1108) at org.neo4j.driver.internal.shaded.io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:345) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:645) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeysPlain(NioEventLoop.java:545) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499) at org.neo4j.driver.internal.shaded.io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:459) 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) at java.base/java.lang.Thread.run(Thread.java:834)

sylvainroussy commented 5 years ago

Hi! And thank you for using the Neo4j Committer.

OK, I saw what happens, the default value for targetContentField is not injected.

Could you try to add this, in the Neo4j Committer configuration: <targetContentField>content</targetContentField>

Segsger commented 5 years ago

Hi! And thank you for using the Neo4j Committer.

OK, I saw what happens, the default value for targetContentField is not injected.

Could you try to add this, in the Neo4j Committer configuration: <targetContentField>content</targetContentField>

Hi, Injected 'content' and changed nodeTopology to ONE_NODE. Committer config file looks as:

  '<committer class="com.norconex.committer.neo4j.Neo4jCommitter">
    <uri>bolt://10.0.0.41:7687</uri>
<user>neo4j</user>
<password>pass123</password>
<authentType>BASIC</authentType>
<nodeTopology>ONE_NODE</nodeTopology>
<targetContentField>content</targetContentField>
  </committer>'

Error is:

ERROR [JobSuite] Execution failed for job: Minimum Test Page org.neo4j.driver.v1.exceptions.ClientException: Invalid input ':': expected whitespace, a property key name, '}', an identifier or UnsignedDecimalInteger (line 1, column 30 (offset: 29)) "MERGE (a:CommittedDocument{:$source_id}) SET a+=$source_metadata, a.content=$source_content " ^ at org.neo4j.driver.internal.util.ErrorUtil.newNeo4jError(ErrorUtil.java:62) .....

sylvainroussy commented 5 years ago

For the same reason, default values are not injected. Please add the following lines on the committer configuration:

<sourceReferenceField keep="true">document.reference</sourceReferenceField>
<targetReferenceField>identity</targetReferenceField>
Segsger commented 5 years ago

It works, thank you. So actually it seems it is not an issue.

sylvainroussy commented 5 years ago

Default values should be injected to simplify the configuration. For your information a v2 of this committer is coming soon.