Configured the JVM:
-Dsolr.httpclient.builder.factory=org.apache.solr.client.solrj.impl.PreemptiveBasicAuthConfigurer
-Dbasicauth=solr:SolrRocks

Configured the CDCR.

Started the Source cluster and
Getting the log:

.a.s.h.CdcrUpdateLogSynchronizer Caught unexpected exception
java.lang.IllegalArgumentException: Credentials may not be null
        at org.apache.http.util.Args.notNull(Args.java:54)
        at org.apache.http.auth.AuthState.update(AuthState.java:113)
        at 
org.apache.solr.client.solrj.impl.PreemptiveAuth.process(PreemptiveAuth.java:56)
        at 
org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
        at 
org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
        at 
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
        at 
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
        at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
        at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
        at 
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:515)
        at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:279)
        at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:268)
        at org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1219)
        at 
org.apache.solr.handler.CdcrUpdateLogSynchronizer$UpdateLogSynchronisation.run(CdcrUpdateLogSynchronizer.java:146)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)


Somehow, the cdcr didn’t pickup the credentials when using the PreemptiveAuth.

Is it a bug?

Thanks
Sean



On 5/14/17, 3:09 PM, "Xie, Sean" <sean....@finra.org> wrote:

    So I have configured two clusters (source and target) with basic auth with 
solr:SolrRocks, but when starting the source node, log is showing it couldn’t 
read the authentication info.
    
    I already added the –Dbasicauth=solr:SolrRocks to the JVM of the solr 
instance. Not sure where else I can configure the solr to use the auth.
    
    When starting the CDCR, the log is:
    
    2017-05-14 15:01:02.915 WARN  (qtp1348949648-21) [c:COL1 s:shard1 
r:core_node2 x:COL1_shard1_replica2] o.a.s.h.CdcrReplicatorManager Unable to 
instantiate the log reader for target collection COL1
    org.apache.solr.client.solrj.SolrServerException: 
java.lang.IllegalArgumentException: Credentials may not be null
                    at 
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:473)
                    at 
org.apache.solr.client.solrj.impl.LBHttpSolrClient.request(LBHttpSolrClient.java:387)
                    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1376)
                    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:1127)
                    at 
org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:1057)
                    at 
org.apache.solr.client.solrj.SolrClient.request(SolrClient.java:1219)
                    at 
org.apache.solr.handler.CdcrReplicatorManager.getCheckpoint(CdcrReplicatorManager.java:196)
                    at 
org.apache.solr.handler.CdcrReplicatorManager.initLogReaders(CdcrReplicatorManager.java:159)
                    at 
org.apache.solr.handler.CdcrReplicatorManager.stateUpdate(CdcrReplicatorManager.java:134)
                    at 
org.apache.solr.handler.CdcrStateManager.callback(CdcrStateManager.java:36)
                    at 
org.apache.solr.handler.CdcrProcessStateManager.setState(CdcrProcessStateManager.java:93)
                    at 
org.apache.solr.handler.CdcrRequestHandler.handleStartAction(CdcrRequestHandler.java:352)
                    at 
org.apache.solr.handler.CdcrRequestHandler.handleRequestBody(CdcrRequestHandler.java:178)
                    at 
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:173)
                    at org.apache.solr.core.SolrCore.execute(SolrCore.java:2440)
                    at 
org.apache.solr.servlet.HttpSolrCall.execute(HttpSolrCall.java:723)
                    at 
org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:529)
                    at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:347)
                    at 
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:298)
                    at 
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1691)
                    at 
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
                    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
                    at 
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
                    at 
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226)
                    at 
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
                    at 
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
                    at 
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
                    at 
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
                    at 
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
                    at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:213)
                    at 
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:119)
                    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
                    at 
org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:335)
                    at 
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
                    at org.eclipse.jetty.server.Server.handle(Server.java:534)
                    at 
org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
                    at 
org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
                    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
                    at 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
                    at 
org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:202)
                    at 
org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273)
                    at 
org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95)
                    at 
org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
                    at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
                    at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
                    at 
org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
                    at 
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
                    at 
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
                    at java.lang.Thread.run(Thread.java:748)
    Caused by: java.lang.IllegalArgumentException: Credentials may not be null
                    at org.apache.http.util.Args.notNull(Args.java:54)
                    at org.apache.http.auth.AuthState.update(AuthState.java:113)
                    at 
org.apache.solr.client.solrj.impl.PreemptiveAuth.process(PreemptiveAuth.java:56)
                    at 
org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:132)
                    at 
org.apache.http.protocol.HttpRequestExecutor.preProcess(HttpRequestExecutor.java:166)
                    at 
org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:485)
                    at 
org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
                    at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
                    at 
org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
                    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.executeMethod(HttpSolrClient.java:515)
                    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:279)
                    at 
org.apache.solr.client.solrj.impl.HttpSolrClient.request(HttpSolrClient.java:268)
                    at 
org.apache.solr.client.solrj.impl.LBHttpSolrClient.doRequest(LBHttpSolrClient.java:435)
                    ... 48 more
    
    
    Confidentiality Notice::  This email, including attachments, may include 
non-public, proprietary, confidential or legally privileged information.  If 
you are not an intended recipient or an authorized agent of an intended 
recipient, you are hereby notified that any dissemination, distribution or 
copying of the information contained in or transmitted with this e-mail is 
unauthorized and strictly prohibited.  If you have received this email in 
error, please notify the sender by replying to this message and permanently 
delete this e-mail, its attachments, and any copies of it immediately.  You 
should not retain, copy or use this e-mail or any attachment for any purpose, 
nor disclose all or any part of the contents to any other person. Thank you.
    

Reply via email to