You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Shawn Feldman <sh...@gmail.com> on 2017/06/06 19:16:33 UTC

Re: How to do CDCR with basic auth?

looks like this ticket was fixed in 6.6 SOLR-10718
<http://issues.apache.org/jira/browse/SOLR-10718>

On Fri, May 19, 2017 at 3:19 PM Shawn Feldman <sh...@gmail.com>
wrote:

> i added a ticket
>
> https://issues.apache.org/jira/browse/SOLR-10718
>
> we'll see what happens
>
> On Fri, May 19, 2017 at 3:03 PM Shawn Feldman <sh...@gmail.com>
> wrote:
>
>> I have the same exact issue on my box.  Basic auth works in 6.4.2 but
>> fails in 6.5.1.  I assume its a bug.  probably just hasn't been
>> acknowledged yet.
>>
>> On Sun, May 14, 2017 at 2:37 PM Xie, Sean <Se...@finra.org> wrote:
>>
>>> 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" <Se...@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.
>>>
>>>
>>>