Disable PRS for this testcase to observe if PRS is causing the problem (#2372)
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
index baf657f..38a18d7 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/TestLocalFSCloudBackupRestore.java
@@ -27,6 +27,7 @@
import org.apache.solr.client.solrj.impl.CloudSolrClient;
import org.apache.solr.client.solrj.request.CollectionAdminRequest;
import org.apache.solr.cloud.MiniSolrCloudCluster;
+import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.cloud.ZkConfigSetService;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
@@ -41,6 +42,7 @@
*/
// Backups do checksum validation against a footer value not present in 'SimpleText'
@LuceneTestCase.SuppressCodecs({"SimpleText"})
+@SolrCloudTestCase.NoPrs // disabled PRS for a while to enure if that is causing test failures
public class TestLocalFSCloudBackupRestore extends AbstractCloudBackupRestoreTestCase {
private static String backupLocation;
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
index d9ad101..7010666 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/SolrCloudTestCase.java
@@ -17,7 +17,12 @@
package org.apache.solr.cloud;
+import com.carrotsearch.randomizedtesting.RandomizedTest;
import java.io.IOException;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.Arrays;
@@ -134,6 +139,8 @@
@BeforeClass
public static void setPrsDefault() {
+ Class<?> target = RandomizedTest.getContext().getTargetClass();
+ if (target != null && target.isAnnotationPresent(NoPrs.class)) return;
if (isPRS()) {
System.setProperty("solr.prs.default", "true");
}
@@ -151,6 +158,8 @@
@AfterClass
public static void unsetPrsDefault() {
+ Class<?> target = RandomizedTest.getContext().getTargetClass();
+ if (target != null && target.isAnnotationPresent(NoPrs.class)) return;
if (isPRS()) {
System.clearProperty("solr.prs.default");
}
@@ -418,4 +427,12 @@
}
return replicaTypeMap;
}
+
+ /**
+ * A marker interface to Ignore PRS in tests. This is for debugging purposes to ensure that PRS is
+ * causing test failures
+ */
+ @Retention(RetentionPolicy.RUNTIME)
+ @Target(ElementType.TYPE)
+ public @interface NoPrs {}
}