MINIFI-403 and JsonParseException

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

MINIFI-403 and JsonParseException

Jeff Zemerick
Hi all,

While working on Java MiNiFi in the master branch I ran into a
NoClassDefFoundError for org.codehaus.jackson.JsonParseException (stack
trace at the bottom) when MiNiFi starts. Thinking I had not seen this
before I reverted MINIFI-403 since it dealt with dependencies, rebuilt, and
the exception goes away and MiNiFi starts and runs as expected. Resetting
to head and building and running again brings the exception back.

When running MiNiFi built with MINIFI-403 I see the Jackson jars on the
classpath in the log. (Looks like the jars I would expect. I don't know
which one specifically has JsonParseException but I'd think it would be in
one of them.)

So I am wondering if this expected and I need to do something else or if
this exception is unexpected and I should look into it more? If relevant,
my flow is the classic test flow to tail minifi-app.log to a local NiFi.

Thanks,
Jeff

java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException
at
org.apache.nifi.remote.StandardRemoteProcessGroup.getTargetUri(StandardRemoteProcessGroup.java:357)
at
org.apache.nifi.controller.serialization.StandardFlowSerializer.addRemoteProcessGroup(StandardFlowSerializer.java:271)
at
org.apache.nifi.controller.serialization.StandardFlowSerializer.addProcessGroup(StandardFlowSerializer.java:190)
at
org.apache.nifi.controller.serialization.StandardFlowSerializer.serialize(StandardFlowSerializer.java:96)
at
org.apache.nifi.controller.FlowController.serialize(FlowController.java:1512)
at
org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.save(StandardXMLFlowConfigurationDAO.java:163)
at
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:535)
at org.apache.nifi.minifi.MiNiFiServer.start(MiNiFiServer.java:113)
at org.apache.nifi.minifi.MiNiFi.<init>(MiNiFi.java:140)
at org.apache.nifi.minifi.MiNiFi.main(MiNiFi.java:239)
Caused by: java.lang.ClassNotFoundException:
org.codehaus.jackson.JsonParseException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 10 common frames omitted
Reply | Threaded
Open this post in threaded view
|

Re: MINIFI-403 and JsonParseException

Aldrin Piri
Hey Jeff,

On phone so apologies for brevity. This is the same root cause as MINIFI-405. Not expected and biproduct of the classpath issues from before and associates transitive dependencies getting lost in the process.  If you would like to add on to 405 with your config as an additional verification case can certainly also evaluate in fixing

Thanks
Aldrin

> On Oct 15, 2017, at 13:16, Jeff Zemerick <[hidden email]> wrote:
>
> Hi all,
>
> While working on Java MiNiFi in the master branch I ran into a
> NoClassDefFoundError for org.codehaus.jackson.JsonParseException (stack
> trace at the bottom) when MiNiFi starts. Thinking I had not seen this
> before I reverted MINIFI-403 since it dealt with dependencies, rebuilt, and
> the exception goes away and MiNiFi starts and runs as expected. Resetting
> to head and building and running again brings the exception back.
>
> When running MiNiFi built with MINIFI-403 I see the Jackson jars on the
> classpath in the log. (Looks like the jars I would expect. I don't know
> which one specifically has JsonParseException but I'd think it would be in
> one of them.)
>
> So I am wondering if this expected and I need to do something else or if
> this exception is unexpected and I should look into it more? If relevant,
> my flow is the classic test flow to tail minifi-app.log to a local NiFi.
>
> Thanks,
> Jeff
>
> java.lang.NoClassDefFoundError: org/codehaus/jackson/JsonParseException
> at
> org.apache.nifi.remote.StandardRemoteProcessGroup.getTargetUri(StandardRemoteProcessGroup.java:357)
> at
> org.apache.nifi.controller.serialization.StandardFlowSerializer.addRemoteProcessGroup(StandardFlowSerializer.java:271)
> at
> org.apache.nifi.controller.serialization.StandardFlowSerializer.addProcessGroup(StandardFlowSerializer.java:190)
> at
> org.apache.nifi.controller.serialization.StandardFlowSerializer.serialize(StandardFlowSerializer.java:96)
> at
> org.apache.nifi.controller.FlowController.serialize(FlowController.java:1512)
> at
> org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.save(StandardXMLFlowConfigurationDAO.java:163)
> at
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:535)
> at org.apache.nifi.minifi.MiNiFiServer.start(MiNiFiServer.java:113)
> at org.apache.nifi.minifi.MiNiFi.<init>(MiNiFi.java:140)
> at org.apache.nifi.minifi.MiNiFi.main(MiNiFi.java:239)
> Caused by: java.lang.ClassNotFoundException:
> org.codehaus.jackson.JsonParseException
> at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> ... 10 common frames omitted