nifi referring to stale processor class

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

nifi referring to stale processor class

pradeepbill
Hello there, I have a perfectly running custom processor, and once I changed its name to something else , and tried to deploy the nar file, I get the below error , and it is referring to the previous processor, not sure where to clean up ?.the org.apache.nifi.processor.Processor file has the latest Processor name. Please advice.Thanks
Pradeep


2016-09-16 14:22:21,867 ERROR [main] o.a.nifi.controller.StandardFlowService Failed to load flow from cluster due to: org.apache.nifi.cluster.ConnectionException: Failed to connect node to cluster because local flow controller partially updated.  Administrator should disconnect node and review flow for corruption.
org.apache.nifi.cluster.ConnectionException: Failed to connect node to cluster because local flow controller partially updated.  Administrator should disconnect node and review flow for corruption.
        at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:764) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:454) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:774) [nifi-jetty-0.6.0.jar:0.6.0]
        at org.apache.nifi.NiFi.<init>(NiFi.java:137) [nifi-runtime-0.6.0.jar:0.6.0]
        at org.apache.nifi.NiFi.main(NiFi.java:227) [nifi-runtime-0.6.0.jar:0.6.0]
Caused by: org.apache.nifi.controller.FlowSynchronizationException: org.apache.nifi.controller.exception.ProcessorInstantiationException: com.dtcc.nifi.processor.PradeepProcessor
        at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:317) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1287) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:72) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:629) ~[nifi-framework-core-0.6.0.jar:0.6.0]
       at org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:737) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        ... 4 common frames omitted
Caused by: org.apache.nifi.controller.exception.ProcessorInstantiationException: com.dtcc.nifi.processor.PradeepProcessor
        at org.apache.nifi.controller.FlowController.instantiateProcessor(FlowController.java:985) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.FlowController.createProcessor(FlowController.java:935) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.StandardFlowSynchronizer.addProcessGroup(StandardFlowSynchronizer.java:774) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:271) ~[nifi-framework-core-0.6.0.jar:0.6.0]
        ... 8 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.dtcc.nifi.processor.PradeepProcessor

        at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_111]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_111]
        at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_111]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[na:1.7.0_111]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_111]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_111]
        at java.lang.Class.forName0(Native Method) ~[na:1.7.0_111]
        at java.lang.Class.forName(Class.java:195) ~[na:1.7.0_111]
        at org.apache.nifi.controller.FlowController.instanti
Reply | Threaded
Open this post in threaded view
|

Re: nifi referring to stale processor class

Mark Payne
Pradeep,

Can you check your processor's jar for the META-INF/services/org.apache.nifi.processor.Processor file?
I'm guessing that still has the old class name in it.

Thanks
-Mark


> On Sep 16, 2016, at 1:21 PM, pradeepbill <[hidden email]> wrote:
>
> Hello there, I have a perfectly running custom processor, and once I changed
> its name to something else , and tried to deploy the nar file, I get the
> below error , and it is referring to the previous processor, not sure where
> to clean up ?.the org.apache.nifi.processor.Processor file has the latest
> Processor name. Please advice.Thanks
> Pradeep
>
>
> 2016-09-16 14:22:21,867 ERROR [main] o.a.nifi.controller.StandardFlowService
> Failed to load flow from cluster due to:
> org.apache.nifi.cluster.ConnectionException: Failed to connect node to
> cluster because local flow controller partially updated.  Administrator
> should disconnect node and review flow for corruption.
> org.apache.nifi.cluster.ConnectionException: Failed to connect node to
> cluster because local flow controller partially updated.  Administrator
> should disconnect node and review flow for corruption.
>        at
> org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:764)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:454)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.web.server.JettyServer.start(JettyServer.java:774)
> [nifi-jetty-0.6.0.jar:0.6.0]
>        at org.apache.nifi.NiFi.<init>(NiFi.java:137)
> [nifi-runtime-0.6.0.jar:0.6.0]
>        at org.apache.nifi.NiFi.main(NiFi.java:227)
> [nifi-runtime-0.6.0.jar:0.6.0]
> *Caused by: org.apache.nifi.controller.FlowSynchronizationException:
> org.apache.nifi.controller.exception.ProcessorInstantiationException:
> com.dtcc.nifi.processor.PradeepProcessor
> *        at
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:317)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1287)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:72)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:629)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>       at
> org.apache.nifi.controller.StandardFlowService.loadFromConnectionResponse(StandardFlowService.java:737)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        ... 4 common frames omitted
> Caused by:
> org.apache.nifi.controller.exception.ProcessorInstantiationException:
> com.dtcc.nifi.processor.PradeepProcessor
>        at
> org.apache.nifi.controller.FlowController.instantiateProcessor(FlowController.java:985)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.FlowController.createProcessor(FlowController.java:935)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.StandardFlowSynchronizer.addProcessGroup(StandardFlowSynchronizer.java:774)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        at
> org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:271)
> ~[nifi-framework-core-0.6.0.jar:0.6.0]
>        ... 8 common frames omitted*
> Caused by: java.lang.ClassNotFoundException:
> com.dtcc.nifi.processor.PradeepProcessor*
>        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> ~[na:1.7.0_111]
>        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> ~[na:1.7.0_111]
>        at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.7.0_111]
>        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> ~[na:1.7.0_111]
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
> ~[na:1.7.0_111]
>        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
> ~[na:1.7.0_111]
>        at java.lang.Class.forName0(Native Method) ~[na:1.7.0_111]
>        at java.lang.Class.forName(Class.java:195) ~[na:1.7.0_111]
>        at org.apache.nifi.controller.FlowController.instanti
>
>
>
> --
> View this message in context: http://apache-nifi-developer-list.39713.n7.nabble.com/nifi-referring-to-stale-processor-class-tp13380.html
> Sent from the Apache NiFi Developer List mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: nifi referring to stale processor class

pradeepbill
Thanks Mark, it has the latest class name .
Reply | Threaded
Open this post in threaded view
|

Re: nifi referring to stale processor class

Mark Payne
Wow - sorry, I totally misread your email where you already stated that it was correct :)

We addressed this issue in NIFI-1052, allowing NiFi to start up with a Dummy Processor
in its place. In previous versions of NiFi, before this was implemented, the options are
basically to either manually update the flow.xml.gz to change the name of the processor,
or to re-deploy the nar with the old name and remove it from the flow.

The ticket has a fix version of 1.0.0, 1.0.0-BETA, but I am pretty sure that the fix was also
included in 0.7.0.

Thanks
-Mark




> On Sep 16, 2016, at 1:59 PM, pradeepbill <[hidden email]> wrote:
>
> Thanks Mark, it has the latest class name .
>
>
>
> --
> View this message in context: http://apache-nifi-developer-list.39713.n7.nabble.com/nifi-referring-to-stale-processor-class-tp13380p13382.html
> Sent from the Apache NiFi Developer List mailing list archive at Nabble.com.

Reply | Threaded
Open this post in threaded view
|

Re: nifi referring to stale processor class

pradeepbill
thanks Mark, I think I fixed it , here is how, I had a processor  still left on the flow diagram, so what I did was renamed the custom processor  to  its old name, redeployed the nar file, deleted the custom processor  from the flow, and renamed it back again to a new name, redeployed the nar file.How ever I learnt something new from your answer that there is a flow.xml.gz. I acknowledge you suggested a similar solution.We are using 0.6 nifi version.