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

Jan Høydahl commented on SOLR-16240:
------------------------------------

A pity there is no test that could detect this. All modules should have a BATS 
test spinning up Solr with the module and checking that all is good?

The only thing I can think of is your guess that the filter class is loaded 
from another class loader than our shared-lib classloader.

I can understand that in a normal shared Jetty servlet container, it makes 
sense to isolate webapp class loaders from each other, but for Solr it only 
causes issues. Modules are loaded by SolrResourceLoader's class loader.

So perhaps we should attempt to unify some class loaders so it makes no 
difference whether a jar is in WEB-INF/lib or ResourceLoader?

> org.apache.solr.common.SolrException:  Error loading class 
> 'solr.KerberosPlugin'
> --------------------------------------------------------------------------------
>
>                 Key: SOLR-16240
>                 URL: https://issues.apache.org/jira/browse/SOLR-16240
>             Project: Solr
>          Issue Type: Bug
>          Components: Authentication
>    Affects Versions: 9.0, 9.1, 9.2
>         Environment: OS: Debian 11
> Solr Version : 9.0
> Java Version: 11
>            Reporter: Jesús Ricardo Ballesteros Molina
>            Priority: Major
>              Labels: kerberos, solrcloud
>
> Hello everyone. I upgraded my test environment cluster from 8.11.1 to 9.0.0 
> and I'm experimenting this issue. Anytime I start the solr service I get this 
> error from logs and I don't know what I have to do to solve it:
> {code:java}
> 2022-06-07 08:06:47.801 ERROR (main) [   ] o.a.s.c.SolrCore null => 
> org.apache.solr.common.SolrException:  Error loading class 
> 'solr.KerberosPlugin'
>     at 
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:543)
> org.apache.solr.common.SolrException:  Error loading class 
> 'solr.KerberosPlugin'
>     at 
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:543)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:604)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.core.CoreContainer.initializeAuthenticationPlugin(CoreContainer.java:521)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.core.CoreContainer.reloadSecurityProperties(CoreContainer.java:1053)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at org.apache.solr.core.CoreContainer.load(CoreContainer.java:765) 
> ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - janhoy 
> - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.servlet.CoreContainerProvider.createCoreContainer(CoreContainerProvider.java:376)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.servlet.CoreContainerProvider.init(CoreContainerProvider.java:226)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.apache.solr.servlet.CoreContainerProvider.contextInitialized(CoreContainerProvider.java:110)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1067)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:572)
>  ~[jetty-servlet-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:996)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:746) 
> ~[jetty-servlet-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:379)
>  ~[jetty-servlet-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1449) 
> ~[jetty-webapp-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1414) 
> ~[jetty-webapp-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:910)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
>  ~[jetty-servlet-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524) 
> ~[jetty-webapp-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at org.eclipse.jetty.server.Server.start(Server.java:423) 
> ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
>  ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at org.eclipse.jetty.server.Server.doStart(Server.java:387) 
> ~[jetty-server-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
>  ~[jetty-util-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at 
> org.eclipse.jetty.xml.XmlConfiguration.lambda$main$3(XmlConfiguration.java:1907)
>  ~[jetty-xml-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
>     at 
> org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1857) 
> ~[jetty-xml-9.4.44.v20210927.jar:9.4.44.v20210927]
>     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
> ~[?:?]
>     at 
> jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>  ~[?:?]
>     at 
> jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  ~[?:?]
>     at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
>     at org.eclipse.jetty.start.Main.invokeMain(Main.java:218) 
> ~[start.jar:9.4.44.v20210927]
>     at org.eclipse.jetty.start.Main.start(Main.java:491) 
> ~[start.jar:9.4.44.v20210927]
>     at org.eclipse.jetty.start.Main.main(Main.java:77) 
> ~[start.jar:9.4.44.v20210927]
> Caused by: java.lang.ClassNotFoundException: solr.KerberosPlugin
>     at java.net.URLClassLoader.findClass(URLClassLoader.java:476) ~[?:?]
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:589) ~[?:?]
>     at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:904) 
> ~[?:?]
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[?:?]
>     at java.lang.Class.forName0(Native Method) ~[?:?]
>     at java.lang.Class.forName(Class.java:398) ~[?:?]
>     at 
> org.apache.solr.core.SolrResourceLoader.findClass(SolrResourceLoader.java:527)
>  ~[solr-core-9.0.0.jar:9.0.0 a4eb7aa123dc53f8dac74d80b66a490f2d6b4a26 - 
> janhoy - 2022-05-05 01:00:08]
>     ... 55 more{code}
> When I rollback to 8.11.1 with exactly the same configuration I don't 
> experiment this issue. 
> I tried:
> 1. Set the "SOLR_JETTY_HOST="0.0.0.0"
> 2. Set the "SOLR_MODULES=hadoop-auth" because it uses kerberos too. 
> 3. I read the documentation about 
> [Kerberos|https://solr.apache.org/guide/solr/latest/deployment-guide/kerberos-authentication-plugin.html]
>  Authentication  and it's pretty similar to the 8.11.1 version.
> 4. I modified my  security.json like this:
> {code:java}
> {"authentication": {"class": "solr.KerberosPlugin"}}{code}
> I don't know if there's something missing on the documentation or if I doing 
> something wrong, which is the most probably.
> I hope the issue is well described, I searched in the web but I haven't found 
> anything related.
>  
> Best regards.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to