Search code examples
apache-nifimarklogic

put Marklogic using Nifi throws error "NullPointer Exception"


I am trying to implement the below site(without update attribute).I have taken a directory which has few files that needs to be put in the marklogic database. I have added the ML database configuration. https://marklogic-community.github.io/marklogic-nifi-incubator/file-system-to-marklogic.html

Attached the screenshot. Please help. enter image description here

Error :
2021-08-17 10:57:36,900 ERROR [Timer-Driven Process Thread-6] o.a.n.marklogic.processor.PutMarkLogic PutMarkLogic[id=017b100b-ebe4-1ae5-b791-0cc5e89e6e2c] : java.lang.NullPointerException
java.lang.NullPointerException: null
2021-08-17 10:57:36,905 INFO [Timer-Driven Process Thread-6] o.a.n.marklogic.processor.PutMarkLogic PutMarkLogic[id=017b100b-ebe4-1ae5-b791-0cc5e89e6e2c] Rolling back session
2021-08-17 10:57:36,906 ERROR [Timer-Driven Process Thread-6] o.a.n.marklogic.processor.PutMarkLogic PutMarkLogic[id=017b100b-ebe4-1ae5-b791-0cc5e89e6e2c] Failed to process session due to org.apache.nifi.processor.exception.ProcessException: java.lang.NullPointerException: java.lang.NullPointerException
↳ causes: org.apache.nifi.processor.exception.ProcessException: java.lang.NullPointerException
org.apache.nifi.processor.exception.ProcessException: java.lang.NullPointerException
    at org.apache.nifi.marklogic.processor.AbstractMarkLogicProcessor.logErrorAndRollbackSession(AbstractMarkLogicProcessor.java:215)
    at org.apache.nifi.marklogic.processor.PutMarkLogic.onTrigger(PutMarkLogic.java:394)
    at org.apache.nifi.marklogic.processor.PutMarkLogic.onTrigger(PutMarkLogic.java:329)
    at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1202)
    at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214)
    at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:103)
    at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null

Solution

  • I figured out the error. It is that I didn’t set JAVA_HOME properly. Once I set it it’s working fine.