You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ma...@apache.org on 2018/12/10 16:32:32 UTC

[1/4] lucene-solr:branch_7x: SOLR-12801: Try to harden closing of zk db in TestConfigSetsAPIZkFailure.

Repository: lucene-solr
Updated Branches:
  refs/heads/branch_7x b62a9a0a3 -> f8a897799


SOLR-12801: Try to harden closing of zk db in TestConfigSetsAPIZkFailure.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/1885899e
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/1885899e
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/1885899e

Branch: refs/heads/branch_7x
Commit: 1885899e15dd4387fe4871b0d7b558b04537883e
Parents: b62a9a0
Author: markrmiller <ma...@apache.org>
Authored: Sun Dec 9 23:03:11 2018 -0600
Committer: markrmiller <ma...@apache.org>
Committed: Mon Dec 10 10:08:57 2018 -0600

----------------------------------------------------------------------
 .../src/java/org/apache/solr/cloud/ZkTestServer.java         | 8 ++++++++
 1 file changed, 8 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/1885899e/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
index 1150c48..8aa1e7d 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
@@ -104,6 +104,8 @@ public class ZkTestServer {
   protected volatile SolrZkClient rootClient;
   protected volatile SolrZkClient chRootClient;
 
+  private volatile ZKDatabase zkDb;
+
   static public enum LimitViolationAction {
     IGNORE,
     REPORT,
@@ -514,6 +516,7 @@ public class ZkTestServer {
   }
 
   public void setZKDatabase(ZKDatabase zkDb) {
+    this.zkDb = zkDb;
     zkServer.zooKeeperServer.setZKDatabase(zkDb);
   }
   
@@ -611,6 +614,11 @@ public class ZkTestServer {
       } catch (Exception e) {
         log.error("Exception shutting down ZooKeeper Test Server",e);
       }
+      
+      if (zkDb != null) {
+        zkDb.close();
+      }
+      
       while (true) {
         try {
           zooThread.join();


[3/4] lucene-solr:branch_7x: SOLR-12801: Relax specific test permissions to help harden tests.

Posted by ma...@apache.org.
SOLR-12801: Relax specific test permissions to help harden tests.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/4d582732
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/4d582732
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/4d582732

Branch: refs/heads/branch_7x
Commit: 4d582732368bc167c120a5467a2574c17abdb2fa
Parents: a76fa86
Author: markrmiller <ma...@apache.org>
Authored: Mon Dec 10 09:38:01 2018 -0600
Committer: markrmiller <ma...@apache.org>
Committed: Mon Dec 10 10:09:19 2018 -0600

----------------------------------------------------------------------
 lucene/tools/junit4/solr-tests.policy | 26 ++++++--------------------
 1 file changed, 6 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/4d582732/lucene/tools/junit4/solr-tests.policy
----------------------------------------------------------------------
diff --git a/lucene/tools/junit4/solr-tests.policy b/lucene/tools/junit4/solr-tests.policy
index d58b82c..69013eb 100644
--- a/lucene/tools/junit4/solr-tests.policy
+++ b/lucene/tools/junit4/solr-tests.policy
@@ -61,21 +61,11 @@ grant {
   permission javax.management.MBeanTrustPermission "*";
   permission javax.security.auth.AuthPermission "*";
   permission javax.security.auth.PrivateCredentialPermission "org.apache.hadoop.security.Credentials * \"*\"", "read";
-  permission java.security.SecurityPermission "putProviderProperty.SaslPlainServer";
-  permission java.security.SecurityPermission "insertProvider.SaslPlainServer";
+  permission java.security.SecurityPermission "*";
   permission javax.xml.bind.JAXBPermission "setDatatypeConverter";
-  
-  // TIKA uses BouncyCastle and that registers new provider for PDF parsing + MSOffice parsing. Maybe report as bug!
-  permission java.security.SecurityPermission "putProviderProperty.BC";
-  permission java.security.SecurityPermission "insertProvider.BC";
-
-  // Needed for some things in DNS caching in the JVM
-  permission java.security.SecurityPermission "getProperty.networkaddress.cache.ttl";
-  permission java.security.SecurityPermission "getProperty.networkaddress.cache.negative.ttl";
 
   // SSL related properties for Solr tests
-  permission java.security.SecurityPermission "getProperty.ssl.*";
-  permission javax.net.ssl.SSLPermission "setDefaultSSLContext";
+  permission javax.net.ssl.SSLPermission "*";
 
   // SASL/Kerberos related properties for Solr tests
   permission javax.security.auth.PrivateCredentialPermission "javax.security.auth.kerberos.KerberosTicket * \"*\"", "read";
@@ -84,15 +74,11 @@ grant {
   permission javax.security.auth.PrivateCredentialPermission "javax.security.auth.kerberos.KeyTab * \"*\"", "read";
   permission javax.security.auth.PrivateCredentialPermission "sun.security.jgss.krb5.Krb5Util$KeysFromKeyTab * \"*\"", "read";
   
-  permission javax.security.auth.kerberos.ServicePermission "krbtgt/EXAMPLE.COM@EXAMPLE.COM", "initiate";
-  permission javax.security.auth.kerberos.ServicePermission "zookeeper/localhost@EXAMPLE.COM", "initiate";
-  permission javax.security.auth.kerberos.ServicePermission "zookeeper/localhost@EXAMPLE.COM", "accept";
-  permission javax.security.auth.kerberos.ServicePermission "HTTP/127.0.0.1@EXAMPLE.COM", "initiate";
-  permission javax.security.auth.kerberos.ServicePermission "HTTP/127.0.0.1@EXAMPLE.COM", "accept";
-  permission javax.security.auth.kerberos.DelegationPermission "\"HTTP/127.0.0.1@EXAMPLE.COM\" \"krbtgt/EXAMPLE.COM@EXAMPLE.COM\"";
+  permission javax.security.auth.kerberos.ServicePermission "*", "initiate";
+  permission javax.security.auth.kerberos.ServicePermission "*", "accept";
+  permission javax.security.auth.kerberos.DelegationPermission "\"*\" \"krbtgt/EXAMPLE.COM@EXAMPLE.COM\"";
   
   // java 8 accessibility requires this perm - should not after 8 I believe (rrd4j is the root reason we hit an accessibility code path)
-  permission java.awt.AWTPermission "listenToAllAWTEvents";
-  permission java.awt.AWTPermission "accessEventQueue";
+  permission java.awt.AWTPermission "*";
 
 };


[4/4] lucene-solr:branch_7x: SOLR-12923: Harden TestSimLargeCluster.

Posted by ma...@apache.org.
SOLR-12923: Harden TestSimLargeCluster.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/f8a89779
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/f8a89779
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/f8a89779

Branch: refs/heads/branch_7x
Commit: f8a8977998e2bf1aee71e6ed851ecdb05a380580
Parents: 4d58273
Author: markrmiller <ma...@apache.org>
Authored: Mon Dec 10 09:39:42 2018 -0600
Committer: markrmiller <ma...@apache.org>
Committed: Mon Dec 10 10:09:26 2018 -0600

----------------------------------------------------------------------
 .../cloud/autoscaling/sim/SimCloudManager.java  |  1 +
 .../sim/SimClusterStateProvider.java            |  2 +-
 .../autoscaling/sim/TestSimLargeCluster.java    | 26 +++++++++-----------
 3 files changed, 13 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f8a89779/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
index a6d76c8..dad9463 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimCloudManager.java
@@ -889,6 +889,7 @@ public class SimCloudManager implements SolrCloudManager {
     IOUtils.closeQuietly(stateManager);
     triggerThread.interrupt();
     IOUtils.closeQuietly(triggerThread);
+    triggerThread.interrupt();
     try {
       triggerThread.join();
     } catch (InterruptedException e) {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f8a89779/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
index 930b761..d81d92c 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/SimClusterStateProvider.java
@@ -1369,7 +1369,7 @@ public class SimClusterStateProvider implements ClusterStateProvider {
           OverseerCollectionMessageHandler.NUM_SLICES, "1",
           CommonAdminParams.WAIT_FOR_FINAL_STATE, "true");
       simCreateCollection(props, new NamedList());
-      CloudTestUtils.waitForState(cloudManager, CollectionAdminParams.SYSTEM_COLL, 90, TimeUnit.SECONDS,
+      CloudTestUtils.waitForState(cloudManager, CollectionAdminParams.SYSTEM_COLL, 120, TimeUnit.SECONDS,
           CloudTestUtils.clusterShape(1, Integer.parseInt(repFactor), false, true));
     } catch (Exception e) {
       throw new IOException(e);

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/f8a89779/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
index e7a16e3..bc4c598 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimLargeCluster.java
@@ -53,7 +53,6 @@ import org.apache.solr.cloud.autoscaling.TriggerListenerBase;
 import org.apache.solr.cloud.autoscaling.TriggerValidationException;
 import org.apache.solr.common.SolrInputDocument;
 import org.apache.solr.common.cloud.Replica;
-import org.apache.solr.common.params.CollectionAdminParams;
 import org.apache.solr.common.params.CollectionParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.Pair;
@@ -78,7 +77,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
   public static final int SPEED = 50;
 
   public static final int NUM_NODES = 100;
-
+ 
   static Map<String, List<CapturedEvent>> listenerEvents = new ConcurrentHashMap<>();
   static AtomicInteger triggerFinishedCount = new AtomicInteger();
   static AtomicInteger triggerStartedCount = new AtomicInteger();
@@ -133,12 +132,6 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
       }
     }
 
-    // do this in advance if missing
-    if (!cluster.getSimClusterStateProvider().simListCollections().contains(CollectionAdminParams.SYSTEM_COLL)) {
-      cluster.getSimClusterStateProvider().createSystemCollection();
-      CloudTestUtils.waitForState(cluster, CollectionAdminParams.SYSTEM_COLL, 120, TimeUnit.SECONDS,
-          CloudTestUtils.clusterShape(1, 3, false, true));
-    }
   }
 
   public static class TestTriggerListener extends TriggerListenerBase {
@@ -310,7 +303,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
     create.setAutoAddReplicas(false);
     create.process(solrClient);
 
-    log.info("Ready after " + CloudTestUtils.waitForState(cluster, collectionName, 20 * NUM_NODES, TimeUnit.SECONDS,
+    log.info("Ready after " + CloudTestUtils.waitForState(cluster, collectionName, 90 * NUM_NODES, TimeUnit.SECONDS,
         CloudTestUtils.clusterShape(NUM_NODES / 10, NUM_NODES / 8 * 3, false, true)) + " ms");
 
     // start adding nodes
@@ -325,7 +318,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
     assertTrue("trigger did not fire", await);
 
     // wait until started == finished
-    TimeOut timeOut = new TimeOut(20 * waitForSeconds * NUM_NODES, TimeUnit.SECONDS, cluster.getTimeSource());
+    TimeOut timeOut = new TimeOut(45 * waitForSeconds * NUM_NODES, TimeUnit.SECONDS, cluster.getTimeSource());
     while (!timeOut.hasTimedOut()) {
       if (triggerStartedCount.get() == triggerFinishedCount.get()) {
         break;
@@ -510,7 +503,7 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
     create.setAutoAddReplicas(false);
     create.process(solrClient);
 
-    log.info("Ready after " + CloudTestUtils.waitForState(cluster, collectionName, 30 * NUM_NODES, TimeUnit.SECONDS,
+    log.info("Ready after " + CloudTestUtils.waitForState(cluster, collectionName, 60 * NUM_NODES, TimeUnit.SECONDS,
         CloudTestUtils.clusterShape(NUM_NODES / 5, NUM_NODES / 10, false, true)) + " ms");
 
     // start killing nodes
@@ -701,12 +694,15 @@ public class TestSimLargeCluster extends SimSolrCloudTestCase {
     assertEquals(response.get("result").toString(), "success");
 
 
-    boolean await = triggerFinishedLatch.await(waitForSeconds * 20000 / SPEED, TimeUnit.MILLISECONDS);
+    boolean await = triggerFinishedLatch.await(waitForSeconds * 45000 / SPEED, TimeUnit.MILLISECONDS);
     assertTrue("The trigger did not fire at all", await);
     // wait for listener to capture the SUCCEEDED stage
-    cluster.getTimeSource().sleep(5000);
-    assertNotNull(listenerEvents.toString(), listenerEvents.get("srt"));
-    assertEquals(listenerEvents.toString(), 1, listenerEvents.get("srt").size());
+    cluster.getTimeSource().sleep(15000);
+    
+    assertNotNull(listenerEvents.entrySet().toString(), listenerEvents.get("srt"));
+
+    assertTrue(listenerEvents.toString(), listenerEvents.get("srt").size() >= 1);
+
     CapturedEvent ev = listenerEvents.get("srt").get(0);
     assertEquals(TriggerEventType.SEARCHRATE, ev.event.getEventType());
     Map<String, Number> m = (Map<String, Number>)ev.event.getProperty(SearchRateTrigger.HOT_NODES);


[2/4] lucene-solr:branch_7x: SOLR-12923: Harden TestSimTriggerIntegration.

Posted by ma...@apache.org.
SOLR-12923: Harden TestSimTriggerIntegration.


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a76fa865
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a76fa865
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a76fa865

Branch: refs/heads/branch_7x
Commit: a76fa865e6ecc4700e7a4b0754881f6b1d97b941
Parents: 1885899
Author: markrmiller <ma...@apache.org>
Authored: Mon Dec 10 08:46:54 2018 -0600
Committer: markrmiller <ma...@apache.org>
Committed: Mon Dec 10 10:09:12 2018 -0600

----------------------------------------------------------------------
 .../solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java    | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a76fa865/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
----------------------------------------------------------------------
diff --git a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
index c4ec122..0227cda 100644
--- a/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
+++ b/solr/core/src/test/org/apache/solr/cloud/autoscaling/sim/TestSimTriggerIntegration.java
@@ -210,7 +210,7 @@ public class TestSimTriggerIntegration extends SimSolrCloudTestCase {
 
     String newNode = cluster.simAddNode();
 
-    if (!triggerFiredLatch.await(220000 / SPEED, TimeUnit.MILLISECONDS)) {
+    if (!triggerFiredLatch.await(320000 / SPEED, TimeUnit.MILLISECONDS)) {
       fail("Both triggers should have fired by now");
     }
 
@@ -438,7 +438,7 @@ public class TestSimTriggerIntegration extends SimSolrCloudTestCase {
     }
 
     String newNode = cluster.simAddNode();
-    boolean await = triggerFiredLatch.await(60000 / SPEED, TimeUnit.MILLISECONDS);
+    boolean await = triggerFiredLatch.await(90000 / SPEED, TimeUnit.MILLISECONDS);
     assertTrue("The trigger did not fire at all", await);
     assertTrue(triggerFired.get());
     TriggerEvent nodeAddedEvent = events.iterator().next();