iamsanjay commented on code in PR #2832: URL: https://github.com/apache/solr/pull/2832#discussion_r1826153383
########## solr/solrj/src/java/org/apache/solr/client/solrj/impl/CloudHttp2SolrClient.java: ########## @@ -451,12 +478,19 @@ public Builder withZkClientTimeout(int zkClientTimeout, TimeUnit unit) { /** Create a {@link CloudHttp2SolrClient} based on the provided configuration. */ public CloudHttp2SolrClient build() { - if (!zkHosts.isEmpty() && !solrUrls.isEmpty()) { + int providedOptions = 0; + if (!zkHosts.isEmpty()) providedOptions++; + if (!solrUrls.isEmpty()) providedOptions++; + if (stateProvider != null) providedOptions++; + + if (providedOptions > 1) { throw new IllegalArgumentException( - "Both zkHost(s) & solrUrl(s) have been specified. Only specify one."); - } else if (zkHosts.isEmpty() && solrUrls.isEmpty()) { - throw new IllegalArgumentException("Both zkHosts and solrUrl cannot be null."); + "Only one of zkHost(s), solrUrl(s), or stateProvider should be specified."); + } else if (providedOptions == 0) { + throw new IllegalArgumentException( + "One of zkHosts, solrUrls, or stateProvider must be specified."); } Review Comment: Yes, actually it can be moved there. Totally make sense there. I guess we can move the whole factory logic along with this in builder. -- 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