You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Zoltán Kornél Török (Jira)" <ji...@apache.org> on 2022/01/17 11:19:00 UTC
[jira] [Reopened] (NIFI-9552) Ranger extension throws NoClassDefFoundError when try to create a TrustStore with it
[ https://issues.apache.org/jira/browse/NIFI-9552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zoltán Kornél Török reopened NIFI-9552:
---------------------------------------
The same issue happens for nifi registry ranger plugin also.
Fix is on the way: https://github.com/apache/nifi/pull/5663
> Ranger extension throws NoClassDefFoundError when try to create a TrustStore with it
> ------------------------------------------------------------------------------------
>
> Key: NIFI-9552
> URL: https://issues.apache.org/jira/browse/NIFI-9552
> Project: Apache NiFi
> Issue Type: Bug
> Affects Versions: 1.15.2
> Reporter: Zoltán Kornél Török
> Assignee: Zoltán Kornél Török
> Priority: Major
> Fix For: 1.16.0
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> When I execute the following command to create truststore:
> {code:java}
> java -cp "nifi-assembly/target/nifi-1.13.2-bin/nifi-1.13.2/ext/ranger/install/lib/*" org.apache.ranger.credentialapi.buildks create sslTrustStore -value "test" -provider "jceks://test.jceks" {code}
> then I got the following error:
> {code:java}
> SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
> SLF4J: Defaulting to no-operation (NOP) logger implementation
> SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
> Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
> at org.apache.hadoop.fs.FileSystem.<clinit>(FileSystem.java:135)
> at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
> at org.apache.hadoop.security.alias.JavaKeyStoreProvider.initFileSystem(JavaKeyStoreProvider.java:89)
> at org.apache.hadoop.security.alias.AbstractJavaKeyStoreProvider.<init>(AbstractJavaKeyStoreProvider.java:85)
> at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:49)
> at org.apache.hadoop.security.alias.JavaKeyStoreProvider.<init>(JavaKeyStoreProvider.java:41)
> at org.apache.hadoop.security.alias.JavaKeyStoreProvider$Factory.createProvider(JavaKeyStoreProvider.java:100)
> at org.apache.hadoop.security.alias.CredentialProviderFactory.getProviders(CredentialProviderFactory.java:73)
> at org.apache.ranger.credentialapi.CredentialReader.getDecryptedString(CredentialReader.java:59)
> at org.apache.ranger.credentialapi.buildks.createCredential(buildks.java:80)
> at org.apache.ranger.credentialapi.buildks.main(buildks.java:40)
> Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
> at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
> at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
> ... 11 more {code}
> h3. Problem analisys
> The error happens bacause of [NIFI-9491.|https://github.com/apache/nifi/commit/7c6bdcb035094db521b3007e1ccd298052cbfddd]
> The missing dependency included in the pom.xml ([https://github.com/apache/nifi/blob/main/nifi-nar-bundles/nifi-ranger-bundle/nifi-ranger-resources/pom.xml#L58)] however during assembly, the jar is not copied under ext/ranger/install/lib/ directory.
> The reason behind is probably, because the lib has provided scope:
> {code:java}
> [INFO] --- maven-dependency-plugin:3.1.2:tree (default-cli) @ nifi-ranger-plugin ---
> [INFO] org.apache.nifi:nifi-ranger-plugin:jar:1.16.0-SNAPSHOT
> [INFO] \- org.slf4j:jcl-over-slf4j:jar:1.7.32:provided {code}
> h3. Workaround
> copy the jcl-over-slf4j lib to ext/ranger/install/lib/ directory.
>
--
This message was sent by Atlassian Jira
(v8.20.1#820001)