[ 
https://issues.apache.org/jira/browse/NIFI-7923?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17221555#comment-17221555
 ] 

ASF subversion and git services commented on NIFI-7923:
-------------------------------------------------------

Commit e7f244f267172e0307f21e60504982717d0a431a in nifi's branch 
refs/heads/main from Bryan Bende
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=e7f244f ]

NIFI-7923 Catch Throwable instead of Exception in NarAutoLoaderTask so that 
thread won't die (#4623)



> Nar Auto-Loader cannot recover from Throwable/Error
> ---------------------------------------------------
>
>                 Key: NIFI-7923
>                 URL: https://issues.apache.org/jira/browse/NIFI-7923
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: 1.12.0
>            Reporter: Nick Lawrence
>            Assignee: Bryan Bende
>            Priority: Minor
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> When a nar is built against an up-level JVM, a java Error is thrown while 
> loading the nar extension. The Throwable is not handled as the code only 
> handles sub classes of Exception. As a result the thread dies, and when a 
> corrected nar is later installed, the nar cannot be loaded. Restart of nifi 
> causes the updated nar to be loaded.
> 2020-10-14 13:31:55,340 INFO [NAR Auto-Loader] -> 
> org.apache.nifi.nar.NarClassLoaders -> Loaded NAR file: 
> /opt/nifi/./work/nar/extensions/nifi-hri-nar-1.0-SNAPSHOT.nar-unpacked as 
> class loader 
> org.apache.nifi.nar.NarClassLoader[./work/nar/extensions/nifi-hri-nar-1.0-SNAPSHOT.nar-unpacked]
> 2020-10-14 13:31:55,342 INFO [NAR Auto-Loader] -> 
> org.apache.nifi.nar.StandardNarLoader -> Successfully created class loaders 
> for 1 NARs, 0 were skipped
> 2020-10-14 13:31:55,395 ERROR [NAR Auto-Loader] -> org.apache.nifi.NiFi -> An 
> Unknown Error Occurred in Thread Thread[NAR Auto-Loader,5,main]: 
> java.lang.UnsupportedClassVersionError: 
> com/ibm/watson/health/wffh/nifi/processors/hri/GetHriIngestRecords has been 
> compiled by a more recent version of the Java Runtime (class file version 
> 55.0), this version of the Java Runtime only recognizes class file versions 
> up to 52.0
> 2020-10-14 13:31:55,396 ERROR [NAR Auto-Loader] -> org.apache.nifi.NiFi ->
> java.lang.UnsupportedClassVersionError: 
> com/ibm/watson/health/wffh/nifi/processors/hri/GetHriIngestRecords has been 
> compiled by a more recent version of the Java Runtime (class file version 
> 55.0), this version of the Java Runtime only recognizes class file versions 
> up to 52.0
>  at java.lang.ClassLoader.defineClass1(Native Method)
>  at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
>  at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>  at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
>  at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
>  at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
>  at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
>  at java.security.AccessController.doPrivileged(Native Method)
>  at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
>  at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
>  at java.lang.Class.forName0(Native Method)
>  at java.lang.Class.forName(Class.java:348)
>  at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:370)
>  at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404)
>  at java.util.ServiceLoader$1.next(ServiceLoader.java:480)
>  at 
> org.apache.nifi.nar.StandardExtensionDiscoveringManager.loadExtensions(StandardExtensionDiscoveringManager.java:156)
>  at 
> org.apache.nifi.nar.StandardExtensionDiscoveringManager.discoverExtensions(StandardExtensionDiscoveringManager.java:131)
>  at org.apache.nifi.nar.StandardNarLoader.load(StandardNarLoader.java:110)
>  at org.apache.nifi.nar.NarAutoLoaderTask.run(NarAutoLoaderTask.java:128)
>  at java.lang.Thread.run(Thread.java:748)
> I looked at the source enough to believe that the Error is not handled 
> anywhere between StandardExtensionDiscovingManager.loadExtensions and 
> NarAutoLoaderTask.run.
> I see no messages in the log that suggest that the updated nar is processed 
> after it is placed in the extensions directory.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to