marklogic / nifi

Mirror of Apache NiFi to support ongoing MarkLogic integration efforts
https://marklogic.github.io/nifi/
Apache License 2.0
12 stars 23 forks source link

PutMarkLogic Processor Error : InvocationTargetException: null #28

Closed dhillon21 closed 5 years ago

dhillon21 commented 5 years ago

I am attempting to create a simple NiFi flow that allows me put files into MarkLogic. However I am getting this 'InvocationTargetException' error.

2018-12-24 12:36:25,733 ERROR [Timer-Driven Process Thread-10] o.a.n.marklogic.processor.PutMarkLogic PutMarkLogic[id=d2e85401-0167-1000-791b-7ad6bce85310] Failed to properly initialize Processor. If still scheduled to run, NiFi will attempt to initialize and run the Processor again after the 'Administrative Yield Duration' has elapsed. Failure is due to java.lang.reflect.InvocationTargetException: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException: null at sun.reflect.GeneratedMethodAccessor503.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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.StandardProcessorNode.lambda$initiateStart$4(StandardProcessorNode.java:1504) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(Unknown Source) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalStateException: WriteBatcher requires at least one writeable forest at com.marklogic.client.datamovement.impl.WriteBatcherImpl.withForestConfig(WriteBatcherImpl.java:785) at com.marklogic.client.datamovement.impl.WriteBatcherImpl.(WriteBatcherImpl.java:236) at com.marklogic.client.datamovement.impl.DataMovementManagerImpl.newWriteBatcher(DataMovementManagerImpl.java:103) at org.apache.nifi.marklogic.processor.PutMarkLogic.onScheduled(PutMarkLogic.java:237) ... 14 common frames omitted

nifi error

My setup of the processor is as follows :

configure-processor

controller-service-details

ryanjdew commented 5 years ago

it looks like the root cause is that there isn't a writeable forest. can you verify that there is a forest attached to the target database? if there is one attached, is the state of the forest up and running?

dhillon21 commented 5 years ago

I did create a forest and attach it with same name as database. However when I checked the status I had to click enable at the top right. I must have assumed it would enable automatically when created and attached.

That seems to have fixed the issue. Thank you!