Bryan Bende created SOLR-9496:
---------------------------------

             Summary: 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


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

Reply via email to