You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@knox.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2025/10/13 15:24:00 UTC
[jira] [Commented] (KNOX-3206) Add netty to Knox as dependency
[ https://issues.apache.org/jira/browse/KNOX-3206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18029531#comment-18029531 ]
ASF subversion and git services commented on KNOX-3206:
-------------------------------------------------------
Commit 2c99fe3065de245dd85100a8090d9b2c1604cb2d in knox's branch refs/heads/master from Sandor Molnar
[ https://gitbox.apache.org/repos/asf?p=knox.git;h=2c99fe306 ]
KNOX-3206 - Include io.netty in Knox's final deliverable (#1094)
> Add netty to Knox as dependency
> -------------------------------
>
> Key: KNOX-3206
> URL: https://issues.apache.org/jira/browse/KNOX-3206
> Project: Apache Knox
> Issue Type: Task
> Components: Server
> Affects Versions: 2.1.0
> Reporter: Sandor Molnar
> Assignee: Sandor Molnar
> Priority: Major
> Fix For: 3.0.0
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> With a recent change - KNOX-3182 -, all io.netty dependencies have been excluded from the final Knox deliverable. As a result, when Ranger authorization is enabled in a topology, there are issue when auditing to SOLR (using the Knox Ranger plugin) is failing with the following error message:
> {code:java}
> 2025-09-04 14:08:07,167 ERROR provider.BaseAuditHandler (BaseAuditHandler.java:logError(359)) - Error sending message to Solr
> java.lang.NoClassDefFoundError: io/netty/channel/ChannelHandler
> at java.lang.Class.forName0(Native Method) ~[?:1.8.0_232]
> at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_232]
> at org.apache.zookeeper.ZooKeeper.getClientCnxnSocket(ZooKeeper.java:3094) ~[zookeeper.jar:3.8.1.7.3.2.0-516]
> at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:674) ~[zookeeper.jar:3.8.1.7.3.2.0-516]
> at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:828) ~[zookeeper.jar:3.8.1.7.3.2.0-516]
> at org.apache.zookeeper.ZooKeeper.<init>(ZooKeeper.java:511) ~[zookeeper.jar:3.8.1.7.3.2.0-516]
> at org.apache.solr.common.cloud.SolrZooKeeper.<init>(SolrZooKeeper.java:50) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.common.cloud.ZkClientConnectionStrategy.createSolrZooKeeper(ZkClientConnectionStrategy.java:110) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.common.cloud.DefaultConnectionStrategy.connect(DefaultConnectionStrategy.java:38) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.common.cloud.SolrZkClient.<init>(SolrZkClient.java:172) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.common.cloud.ZkStateReader.<init>(ZkStateReader.java:360) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider.getZkStateReader(ZkClientClusterStateProvider.java:196) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider.connect(ZkClientClusterStateProvider.java:181) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.connect(BaseCloudSolrClient.java:349) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.requestWithRetryOnStaleState(BaseCloudSolrClient.java:876) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.impl.BaseCloudSolrClient.request(BaseCloudSolrClient.java:866) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:214) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:106) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:71) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.solr.client.solrj.SolrClient.add(SolrClient.java:85) ~[solr-solrj.jar:8.11.2.7.3.2.0-516 7d0451842ce782b3c5a91c7770f00af2fa090b78 - jenkins - 2025-09-03 08:34:28]
> at org.apache.ranger.audit.destination.SolrAuditDestination.lambda$addDocsToSolr$0(SolrAuditDestination.java:515) ~[ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
> at org.apache.ranger.audit.destination.SolrAuditDestination.lambda$addDocsToSolr$0(SolrAuditDestination.java:515) ~[ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_232]
> at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_232]
> at org.apache.ranger.audit.utils.AbstractKerberosUser.doAs(AbstractKerberosUser.java:147) ~[ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at org.apache.ranger.audit.utils.KerberosAction.execute(KerberosAction.java:71) ~[ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at org.apache.ranger.audit.destination.SolrAuditDestination.addDocsToSolr(SolrAuditDestination.java:521) ~[ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at org.apache.ranger.audit.destination.SolrAuditDestination.log(SolrAuditDestination.java:167) [ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at org.apache.ranger.audit.queue.AuditBatchQueue.runLogAudit(AuditBatchQueue.java:324) [ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at org.apache.ranger.audit.queue.AuditBatchQueue.run(AuditBatchQueue.java:233) [ranger-plugins-audit-2.6.0.7.3.2.0-516.jar:2.6.0.7.3.2.0-516]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_232]
> Caused by: java.lang.ClassNotFoundException: io.netty.channel.ChannelHandler
> at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_232]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_232]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_232]
> ... 30 more {code}
> Since Knox already references the {{io.netty}} dependency in its pom.xml (current version is {{{}4.1.123.Final{}}}), it's a relatively easy task to add the following Netty components in Knox's dep folder:
> * {{netty-common}} → shared utilities (base for all)
> * {{netty-buffer}} → ByteBuf implementation
> * {{netty-transport}} → Channel, EventLoop, and socket APIs
> * {{netty-handler}} → Handlers for SSL, Websocket, HTTP, etc...
> Apart from including these 3 commonly used Netty modules, we should also upgrade to {{4.1.127.Final}} to remove all CVEs associated with the currently used version.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)