You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by tf...@apache.org on 2023/01/30 23:16:59 UTC
[solr] branch main updated: SOLR-16635: Resolve crypto keys file path in MiniSolrCloudCluster (#1312)
This is an automated email from the ASF dual-hosted git repository.
tflobbe pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new be5ad010520 SOLR-16635: Resolve crypto keys file path in MiniSolrCloudCluster (#1312)
be5ad010520 is described below
commit be5ad010520a438f1274b995c844281d81bb8032
Author: Tomas Eduardo Fernandez Lobbe <tf...@apache.org>
AuthorDate: Mon Jan 30 15:16:52 2023 -0800
SOLR-16635: Resolve crypto keys file path in MiniSolrCloudCluster (#1312)
This eliminates the need to set the system properties `pkiHandlerPublicKeyPath` and `pkiHandlerPrivateKeyPath` before starting MiniSolrCloudCluster when using the Solr test framework.
---
solr/CHANGES.txt | 3 +++
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 13 -------------
.../org/apache/solr/cloud/MiniSolrCloudCluster.java | 17 +++++++++++++++--
3 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index f4250b89a66..fe579f9b784 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -128,6 +128,9 @@ Improvements
* SOLR-6312: SolrJ Cloud clients now correctly support isUpdatesToLeaders() being false. This behavior can also be
configured per AbstractUpdateRequest instance. (hossman)
+* SOLR-16635: Resolve crypto keys file path in MiniSolrCloudCluster. This eliminates the need to set the system
+ properties `pkiHandlerPublicKeyPath` and `pkiHandlerPrivateKeyPath` before starting MiniSolrCloudCluster when using
+ the Solr test framework. (Tomás Fernández Löbbe)
Optimizations
---------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index fe81cb7e5af..a2c430f11a2 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -305,19 +305,6 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", "500");
System.setProperty("solr.filterCache.async", String.valueOf(random().nextBoolean()));
- System.setProperty(
- "pkiHandlerPrivateKeyPath",
- SolrTestCaseJ4.class
- .getClassLoader()
- .getResource("cryptokeys/priv_key512_pkcs8.pem")
- .toExternalForm());
- System.setProperty(
- "pkiHandlerPublicKeyPath",
- SolrTestCaseJ4.class
- .getClassLoader()
- .getResource("cryptokeys/pub_key512.der")
- .toExternalForm());
-
System.setProperty(ZK_WHITELIST_PROPERTY, "*");
startTrackingSearchers();
ignoreException("ignore_exception");
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
index 94e71687229..335263c6715 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
@@ -23,6 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.invoke.MethodHandles;
+import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
@@ -89,6 +90,10 @@ import org.slf4j.LoggerFactory;
public class MiniSolrCloudCluster {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
+ private static final URL PRE_GENERATED_PRIVATE_KEY_URL =
+ MiniSolrCloudCluster.class.getClassLoader().getResource("cryptokeys/priv_key512_pkcs8.pem");
+ private static final URL PRE_GENERATED_PUBLIC_KEY_URL =
+ MiniSolrCloudCluster.class.getClassLoader().getResource("cryptokeys/pub_key512.der");
public static final String TEST_URL_ALLOW_LIST = SolrTestCaseJ4.TEST_URL_ALLOW_LIST;
@@ -123,8 +128,16 @@ public class MiniSolrCloudCluster {
+ " <int name=\"distribUpdateSoTimeout\">${distribUpdateSoTimeout:340000}</int>\n"
+ " <str name=\"zkCredentialsProvider\">${zkCredentialsProvider:org.apache.solr.common.cloud.DefaultZkCredentialsProvider}</str> \n"
+ " <str name=\"zkACLProvider\">${zkACLProvider:org.apache.solr.common.cloud.DefaultZkACLProvider}</str> \n"
- + " <str name=\"pkiHandlerPrivateKeyPath\">${pkiHandlerPrivateKeyPath:cryptokeys/priv_key512_pkcs8.pem}</str> \n"
- + " <str name=\"pkiHandlerPublicKeyPath\">${pkiHandlerPublicKeyPath:cryptokeys/pub_key512.der}</str> \n"
+ + " <str name=\"pkiHandlerPrivateKeyPath\">${pkiHandlerPrivateKeyPath:"
+ + (PRE_GENERATED_PRIVATE_KEY_URL != null
+ ? PRE_GENERATED_PRIVATE_KEY_URL.toExternalForm()
+ : "")
+ + "}</str> \n"
+ + " <str name=\"pkiHandlerPublicKeyPath\">${pkiHandlerPublicKeyPath:"
+ + (PRE_GENERATED_PUBLIC_KEY_URL != null
+ ? PRE_GENERATED_PUBLIC_KEY_URL.toExternalForm()
+ : "")
+ + "}</str> \n"
+ " <str name=\"distributedClusterStateUpdates\">${solr.distributedClusterStateUpdates:false}</str> \n"
+ " <str name=\"distributedCollectionConfigSetExecution\">${solr.distributedCollectionConfigSetExecution:false}</str> \n"
+ " </solrcloud>\n"