Yes, to communicate on this list (or ideally you should use the 
us...@solr.apache.org list), you first need to subscribe.
Normally replies go only to the list. Sometimes there can be a reply-all, but I 
only used that this time because I suspected that you were not subscribed.

See https://solr.apache.org/community.html#mailing-lists-chat for the subscribe 
procedure. I recommend filing questions to the 'users' list.

My previous reply can be seen in the archives, which are also linked from the 
page above.

Jan

> 1. feb. 2023 kl. 05:57 skrev Keerthi Turakapalli <tkeer...@opentext.com>:
> 
> Hi Jan,
> The last time I sent a mail to "dev@solr.apache.org 
> <mailto:dev@solr.apache.org>", I received a mail from David Smiley without 
> subscribing to any list. Can you please reply with the solution to this email?
> If it is mandatory to subscribe to any list, please let me know the process.
> 
> Thanks & Regards,
> ​Keerthi Turakapalli
> 
> From: Jan Høydahl <jan....@cominvent.com <mailto:jan....@cominvent.com>>
> Sent: 31 January 2023 21:56
> To: dev@solr.apache.org <mailto:dev@solr.apache.org> <dev@solr.apache.org 
> <mailto:dev@solr.apache.org>>
> Cc: Keerthi Turakapalli <tkeer...@opentext.com <mailto:tkeer...@opentext.com>>
> Subject: [EXTERNAL] - Re: Connection to SSL enabled solr9 is failing
>  
> CAUTION: This email originated from outside of the organization. Do not click 
> links or open attachments unless you recognize the sender and know the 
> content is safe. If you feel that the email is suspicious, please report it 
> using PhishAlarm.
> 
> 
> I did reply to your email on Jan 24th. If you subscribe to the list you will 
> see the answer.
> 
> Jan Høydahl
> 
> > 31. jan. 2023 kl. 16:06 skrev Keerthi Turakapalli 
> > <tkeer...@opentext.com.invalid>:
> >
> > FYI
> > Can you please respond to this mail?
> >
> > Thanks & Regards,
> > ​Keerthi Turakapalli
> >
> > ________________________________
> > From: Keerthi Turakapalli
> > Sent: 24 January 2023 17:13
> > To: dev@solr.apache.org <dev@solr.apache.org>
> > Cc: Sangisetti Ramana <sram...@opentext.com>; Santosh Kumar Siliveru 
> > <ssili...@opentext.com>; Dhoka Pramod <dpra...@opentext.com>
> > Subject: Connection to SSL enabled solr9 is failing
> >
> > Hi,
> >
> > In solr8.11.2 we were using the below code where the HttpClient object is 
> > created with SSLContextFactory to connect to ssl enabled solr.
> >
> > Code Snippet using solr 8.11.2:
> >
> >
> > builder = new 
> > CloudSolrClient.Builder(Collections.singletonList(mServerDetails.getZookeeperUrl()),
> >  Optional.empty())
> >                    .withHttpClient(getSecureClient())
> >
> > reutrn builder.build();
> >
> > private CloseableHttpClient getSecureClient() {
> >    CloseableHttpClient cHttpClient = null;
> >    try {
> >        TrustStrategy acceptingTrustStrategy = (cert, authType) -> true;
> >        SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, 
> > acceptingTrustStrategy).build();
> >        SSLConnectionSocketFactory sslConnectionSocketFactory = new 
> > SSLConnectionSocketFactory(sslContext, new DefaultHostnameVerifier());
> >        Registry<ConnectionSocketFactory> socketFactoryRegistry = 
> > RegistryBuilder.<ConnectionSocketFactory>create().
> >                register(SCHEMA_HTTPS, sslConnectionSocketFactory).build();
> >        BasicHttpClientConnectionManager connectionManager = new 
> > BasicHttpClientConnectionManager(socketFactoryRegistry);
> >        cHttpClient = 
> > HttpClients.custom().setSSLSocketFactory(sslConnectionSocketFactory).setConnectionManager(connectionManager).build();
> >    } catch(NoSuchAlgorithmException | KeyStoreException | 
> > KeyManagementException ex)
> >    {
> >        mLogger.atError().log("Processing httpclient failed.: {}", ex);
> >    }
> >    return cHttpClient;
> > }
> >
> > However, withHttpClient() in solr9.1.0 got updated and it is only accepting 
> > Http2SolrClient instead of HttpClient.
> > Following the documentation here:
> > https://urldefense.com/v3/__https://solr.apache.org/guide/solr/latest/deployment-guide/solrj.html__;!!Obbck6kTJA!eykdZGgOz94z4G0X4QLnsirk3BgvVuaEYvz3Teqh7SbcqB4xooNFmoSIwz050T0G_wrqpgISWPDEZnIZtkw$
> >
> > We tried to connect to ssl enabled solr using,
> >
> > This code leads to an NPE:
> >
> >
> > List<String> list = new ArrayList<>();
> > list.add(mServerDetails.getZookeeperUrl());
> > CloudHttp2SolrClient.Builder newBuilder = new 
> > CloudHttp2SolrClient.Builder(list, Optional.empty());
> > return newBuilder.build();
> >
> > This code is throwing below "Missing SSLContextFactory" error. Please find 
> > the stacktrace,
> > =====================================================
> >
> > DEBUG | 2023-01-24 14:31:50 | [Thread-175] impl.SolrServiceImpl 
> > (SolrServiceImpl.java:474) - Zookeeper Protocol: HTTPS,  enableSSLFlag: true
> > ERROR | 2023-01-24 14:31:50 | [Thread-175] impl.SolrServiceImpl 
> > (SolrServiceImpl.java:218) - Failed to get the cluster status from the 
> > server.
> > org.apache.solr.client.solrj.SolrServerException: 
> > java.lang.NullPointerException: Missing SslContextFactory
> >       at 
> > org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:445)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.LBSolrClient.request(LBSolrClient.java:371)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.CloudSolrClient.sendRequest(CloudSolrClient.java:1174)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.CloudSolrClient.requestWithRetryOnStaleState(CloudSolrClient.java:880)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.CloudSolrClient.request(CloudSolrClient.java:807)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:234) 
> > ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.SolrRequest.process(SolrRequest.java:249) 
> > ~[?:?]
> >      
> >       at com.zerog.ia.installer.actions.CustomAction.installSelf(Unknown 
> > Source) ~[installer.zip:?]
> >       at com.zerog.ia.installer.util.GenericInstallPanel$2.run(Unknown 
> > Source) ~[installer.zip:?]
> >
> > Caused by: java.lang.NullPointerException: Missing SslContextFactory
> >       at java.util.Objects.requireNonNull(Objects.java:246) ~[?:?]
> >       at 
> > org.eclipse.jetty.io.ssl.SslClientConnectionFactory.<init>(SslClientConnectionFactory.java:57)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1208)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1214)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:148)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:154)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpDestination.<init>(HttpDestination.java:94) 
> > ~[?:?]
> >       at 
> > org.eclipse.jetty.client.MultiplexHttpDestination.<init>(MultiplexHttpDestination.java:25)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.http2.client.http.HttpDestinationOverHTTP2.<init>(HttpDestinationOverHTTP2.java:32)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.http2.client.http.HttpClientTransportOverHTTP2.newHttpDestination(HttpClientTransportOverHTTP2.java:128)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpClient.lambda$resolveDestination$0(HttpClient.java:575)
> >  ~[?:?]
> >       at 
> > java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
> >  ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpClient.resolveDestination(HttpClient.java:573) 
> > ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpClient.resolveDestination(HttpClient.java:551) 
> > ~[?:?]
> >       at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:599) 
> > ~[?:?]
> >       at 
> > org.eclipse.jetty.client.HttpRequest.sendAsync(HttpRequest.java:780) ~[?:?]
> >       at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:767) 
> > ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.Http2SolrClient.request(Http2SolrClient.java:455)
> >  ~[?:?]
> >       at 
> > org.apache.solr.client.solrj.impl.LBSolrClient.doRequest(LBSolrClient.java:405)
> >  ~[?:?]
> > ============================================
> >
> > Here it is expecting SSLContextFactory while connecting to solr with the 
> > zookeeper host. We also tried to use the method "withSSLConfig(sslConfig)" 
> > in Http2SolrClient class. But the usage is something like
> >
> > <
> >    new Http2SolrClient.Builder().build;
> >
> >   public Builder withSSLConfig(SSLConfig sslConfig) {
> >      this.sslConfig = sslConfig;
> >      return this;
> >    }
> >>
> >
> > Here withSSLConfig() method requiring SSLConfig object containing 
> > parameters like authClient, keystore, keystorePassword, trustore, 
> > truststorePassword. If this method is to be used, where and what values are 
> > expected here? However, to call this method in Builder() by default it is 
> > assigning defaultSSLConf. What does this do?
> >
> > Could you please let us know how to Build a CloudSlrClient object with 
> > SSLConfig that can connect to SSL enabled solr9 machine with zookeeper URL?
> > Or is it mandated to pass solr URL's?
> >
> > Thanks & Regards,
> > ​Keerthi Turakapalli
> >

Reply via email to