laminelam commented on code in PR #2417:
URL: https://github.com/apache/solr/pull/2417#discussion_r1583497184


##########
solr/core/src/java/org/apache/solr/cli/SolrCLI.java:
##########
@@ -607,6 +611,46 @@ public static String getZkHost(CommandLine cli) throws 
Exception {
     return zkHost;
   }
 
+  public static SolrZkClient getSolrZkClient(CommandLine cli) throws Exception 
{
+    return getSolrZkClient(cli, getZkHost(cli));
+  }
+
+  public static SolrZkClient getSolrZkClient(CommandLine cli, String zkHost) 
throws Exception {
+    if (zkHost == null) {
+      throw new IllegalStateException(
+          "Solr at "
+              + cli.getOptionValue("solrUrl")
+              + " is running in standalone server mode, this command can only 
be used when running in SolrCloud mode.\n");
+    }
+    return new SolrZkClient.Builder()
+        .withUrl(zkHost)
+        .withTimeout(SolrZkClientTimeout.DEFAULT_ZK_CLIENT_TIMEOUT, 
TimeUnit.MILLISECONDS)
+        .withSolrClassLoader(getSolrResourceLoader())
+        .build();
+  }
+
+  public static CloudHttp2SolrClient getCloudHttp2SolrClient(String zkHost) {
+    return getCloudHttp2SolrClient(zkHost, null);
+  }
+
+  public static CloudHttp2SolrClient getCloudHttp2SolrClient(
+      String zkHost, Http2SolrClient.Builder builder) {
+    return new CloudHttp2SolrClient.Builder(Collections.singletonList(zkHost), 
Optional.empty())
+        .withSolrClassLoader(getSolrResourceLoader())
+        .withInternalClientBuilder(builder)
+        .build();
+  }
+
+  private static SolrResourceLoader getSolrResourceLoader() {
+    String dir = System.getProperty("solr.solr.home");
+    if (StrUtils.isNullOrEmpty(dir)) {
+      dir = System.getProperty("solr.install.dir");
+    }
+    final SolrResourceLoader loader = new SolrResourceLoader(Paths.get(dir));
+    NodeConfig.initModules(loader, null);

Review Comment:
   I completely agree that this PR is little bit broader than the JIRA. Will 
split it, or change this one to get rid of the SolrResourceLoader stuff. But we 
still need a solution on the _SolrResourceLoader_ issue.
   
   @dsmiley re.   _SolrResourceLoader_
   I know the solution is not perfect. I have discussed the issue with 4 other 
committers, this is the best solution we would come up will (adding a way to 
pass SRL to SolrZKClient).
   
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to