lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hrishikesh Gadre (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (SOLR-9496) SolrJ + Kerberos Requires commons-codec
Date Fri, 07 Oct 2016 23:40:20 GMT

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

Hrishikesh Gadre commented on SOLR-9496:
----------------------------------------

The problem with documentation route is that it will become out-of-date over the period of
time. Since build file (ivy config) is the authentic source of dependency information, I would
be more confident of the approach which is solely based on it.

Another point - even though we are currently discussing the solrj impact, there is also a
desire to avoid dependencies on the server side (i.e. solr-core). e.g. [~ichattopadhyaya]
has been working on refactoring the dependency on old version of jackson library in solr-core
(Ref: SOLR-9542 and HADOOP-13672). Now that we have first class support for Security, I would
expect more authentication/authorization mechanisms integrated with Solr. It is quite possible
that those integrations will bring in more dependencies that are not useful for all consumers
of Solr. Hence instead of taking the documentation route, we should seriously consider refactoring
the security integrations out of solr-core and solrj. This way folks can "install" only those
plugins which they intend to use.

> 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org


Mime
View raw message