[ https://issues.apache.org/jira/browse/SOLR-9496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15555754#comment-15555754 ]
Hrishikesh Gadre commented on SOLR-9496: ---------------------------------------- [~risdenk] [~ichattopadhyaya] bq. In that light, I think we should add a documentation note to the Kerberos page (SolrJ section) that user needs this dependency along with solrj in order to make kerberos work. I don't think adding this in the documentation is a good idea since dependency management tools should take care of this kind of stuff. If we are concerned with the adding extra dependencies for kerberos integration, we should think about cleanly separating out the security related stuff into a different (add-on) module so that can we can list all the kerberos dependencies there. This will ensure that users not using kerberos are not affected with these extra dependencies, at the same time users using kerberos don't run into type of issues mentioned in this jira. > SolrJ + Kerberos Requires commons-codec > --------------------------------------- > > Key: SOLR-9496 > URL: https://issues.apache.org/jira/browse/SOLR-9496 > Project: Solr > Issue Type: Bug > Security Level: Public(Default Security Level. Issues are Public) > Components: SolrJ > Affects Versions: 6.2 > Reporter: Bryan Bende > Priority: Minor > Labels: documentation > Attachments: SOLR-9496.patch > > > When using SolrJ 6.2 with Kerberos enabled on the server (also 6.2), the > following exception was encountered: > {code} > java.lang.NoClassDefFoundError: org/apache/commons/codec/binary/Base64 > at > org.apache.http.impl.auth.GGSSchemeBase.<init>(GGSSchemeBase.java:85) > ~[httpclient-4.4.1.jar:4.4.1] > at org.apache.http.impl.auth.SPNegoScheme.<init>(SPNegoScheme.java:54) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.auth.SPNegoSchemeFactory.newInstance(SPNegoSchemeFactory.java:78) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.auth.AuthSchemeRegistry.getAuthScheme(AuthSchemeRegistry.java:113) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.auth.AuthSchemeRegistry$1.create(AuthSchemeRegistry.java:151) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.AuthenticationStrategyImpl.select(AuthenticationStrategyImpl.java:188) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.TargetAuthenticationStrategy.select(TargetAuthenticationStrategy.java:43) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.auth.HttpAuthenticator.handleAuthChallenge(HttpAuthenticator.java:154) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.HttpAuthenticator.authenticate(HttpAuthenticator.java:58) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.DefaultRequestDirector.handleResponse(DefaultRequestDirector.java:1057) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:515) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55) > ~[httpclient-4.4.1.jar:4.4.1] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:497) > ~[na:na] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:261) > ~[na:na] > at > org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:250) > ~[na:na] > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:403) > ~[na:na] > at > org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:355) > ~[na:na] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1291) > ~[na:na] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1061) > ~[na:na] > at > org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:997) > ~[na:na] > at > org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:149) > ~[na:na] > at > org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:166) > ~[na:na] > {code} > Adding a dependency to my project on commons-codec resolved the issue: > {code} > <dependency> > <groupId>commons-codec</groupId> > <artifactId>commons-codec</artifactId> > <version>1.10</version> > </dependency> > {code} > SolrJ should include this dependency if it is required for Kerberos > authentication. > If not we should consider updating the SolrJ section on the Wiki page here to > mention that client application needs to add it: > https://cwiki.apache.org/confluence/display/solr/Kerberos+Authentication+Plugin -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org