[ https://issues.apache.org/jira/browse/NIFI-12765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Joe Witt resolved NIFI-12765. ----------------------------- Fix Version/s: 2.0.0 Resolution: Fixed > Nifi and nifi registry ranger audit is broken > --------------------------------------------- > > Key: NIFI-12765 > URL: https://issues.apache.org/jira/browse/NIFI-12765 > Project: Apache NiFi > Issue Type: Bug > Affects Versions: 2.0.0-M2, 2.0.0 > Reporter: Zoltán Kornél Török > Assignee: Zoltán Kornél Török > Priority: Major > Fix For: 2.0.0 > > Time Spent: 1.5h > Remaining Estimate: 0h > > h3. Bug description > Currently ranger plugins are not reporting audit events into ranger. > h2. Investigation > In the nifi log I found the following ("classic") NoClassDefFoundError: > {code:java} > ERROR org.apache.ranger.audit.destination.SolrAuditDestination: Can't connect > to Solr server. > ZooKeepers=cfm-oudjal-dd-master0.cfm-5pax.svbr-nqvp.int.cldr.work:2181/solr-infrajava.lang.NoClassDefFoundError: > org/eclipse/jetty/client/util/SPNEGOAuthentication > at > org.apache.ranger.audit.destination.SolrAuditDestination.connect(SolrAuditDestination.java:168) > at > org.apache.ranger.audit.destination.SolrAuditDestination.log(SolrAuditDestination.java:227) > at > org.apache.ranger.audit.queue.AuditBatchQueue.runLogAudit(AuditBatchQueue.java:309) > at > org.apache.ranger.audit.queue.AuditBatchQueue.run(AuditBatchQueue.java:215) > at java.base/java.lang.Thread.run(Thread.java:1583) > Caused by: java.lang.ClassNotFoundException: > org.eclipse.jetty.client.util.SPNEGOAuthentication > at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:593) > at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:526) > ... 5 common frames omitted {code} > As you can see ranger-audit depends on solr client which depends on jetty > client. > The problem is that solr client class use > org.eclipse.jetty.client.util.SPNEGOAuthentication - > [https://github.infra.cloudera.com/CDH/solr/blob/solr9-master/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Krb5HttpClientBuilder.java#L46] > However in case jetty 12.x line, this class is moved to another package: > [https://github.com/jetty/jetty.project/commit/a1c5cefd0d5657df04e5364cca9315aa4e2a1aef] > > So the problem exist, since jetty version upgraded to 12 > h2. Proposed solution > Sadly there is no available solr client (or ranger client), which haven't had > this dependency. The only solution what I found (and propose in my pr) is to > override jetty version in case of ranger plugins to jetty line 11, where this > class is not moved. I tested it on my environment and the audit logging to > ranger worked well with that version. -- This message was sent by Atlassian Jira (v8.20.10#820010)