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 2020/07/29 05:19:21 UTC

[lucene-solr] branch reference_impl updated (0e0b8a9 -> 9747c86)

This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a change to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git.


    from 0e0b8a9  @444 Don't track lifecycle on SyncStrategy for now.
     new 2b48368  @445 Harden test.
     new f760538  @446 Still can leak.
     new 4b25abf  @447 Bring test back online.
     new d2ae969  @448 Enable a test method.
     new 8f1def8  @449 Start work on this test a bit.
     new 9747c86  @450 Remove out of place check that you cant create a core with no node name.

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/solr/cloud/overseer/ZkStateWriter.java  |  2 +-
 .../java/org/apache/solr/core/CoreContainer.java   |  5 +--
 .../apache/solr/security/AuditLoggerPlugin.java    |  7 ++---
 .../apache/solr/cloud/CollectionsAPISolrJTest.java |  4 +--
 .../solr/cloud/DeleteInactiveReplicaTest.java      | 36 +++++++++-------------
 .../org/apache/solr/cloud/DeleteReplicaTest.java   |  7 +++--
 .../org/apache/solr/cloud/LeaderElectionTest.java  |  9 ++++--
 .../org/apache/solr/cloud/SolrCloudTestCase.java   |  6 +++-
 8 files changed, 40 insertions(+), 36 deletions(-)


[lucene-solr] 04/06: @448 Enable a test method.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit d2ae969456d4e37b7c35bbc2bb6fe1fab4d4bf80
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 21:52:02 2020 -0500

    @448 Enable a test method.
---
 solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
index e7256ba..659d03e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
@@ -57,7 +57,6 @@ import org.slf4j.LoggerFactory;
 
 import static org.apache.solr.common.cloud.Replica.State.DOWN;
 
-@Ignore // nocommit debug
 public class DeleteReplicaTest extends SolrCloudTestCase {
 
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -91,6 +90,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
   }
 
   @Test
+  @Ignore // nocommit debug
   // commented out on: 01-Apr-2019   @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // annotated on: 24-Dec-2018
   public void deleteLiveReplicaTest() throws Exception {
 
@@ -147,6 +147,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
   }
 
   @Test
+  @Ignore // nocommit debug
   public void deleteReplicaAndVerifyDirectoryCleanup() throws Exception {
 
     final String collectionName = "deletereplica_test";
@@ -172,6 +173,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
   }
 
   @Test
+  @Ignore // nocommit debug
   public void deleteReplicaByCount() throws Exception {
 
     final String collectionName = "deleteByCount";
@@ -216,7 +218,6 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
     CollectionAdminRequest.setClusterProperty(ZkStateReader.LEGACY_CLOUD, null).process(cluster.getSolrClient());
   }
 
-  @Ignore // nocommit debug
   private void deleteReplicaFromClusterState(String legacyCloud) throws Exception {
     CollectionAdminRequest.setClusterProperty(ZkStateReader.LEGACY_CLOUD, legacyCloud).process(cluster.getSolrClient());
     final String collectionName = "deleteFromClusterState_"+legacyCloud;
@@ -273,6 +274,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
 
   @Test
   @Slow
+  @Ignore // nocommit debug
   // commented out on: 17-Feb-2019   @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // annotated on: 24-Dec-2018
   public void raceConditionOnDeleteAndRegisterReplica() throws Exception {
     raceConditionOnDeleteAndRegisterReplica("false");
@@ -412,6 +414,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
   }
 
   @Test
+  @Ignore // nocommit debug
   public void deleteReplicaOnIndexing() throws Exception {
     final String collectionName = "deleteReplicaOnIndexing";
     CollectionAdminRequest.createCollection(collectionName, "conf", 1, 2)


[lucene-solr] 06/06: @450 Remove out of place check that you cant create a core with no node name.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 9747c86524f32d6bd3abde664da4e98be2acfac5
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 23:04:06 2020 -0500

    @450 Remove out of place check that you cant create a core with no node name.
---
 .../solr/cloud/DeleteInactiveReplicaTest.java      | 33 ++++++++++------------
 1 file changed, 15 insertions(+), 18 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
index 0705511..8c98791 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
@@ -75,8 +75,6 @@ public class DeleteInactiveReplicaTest extends SolrCloudTestCase {
     }
     cluster.stopJettySolrRunner(jetty);
 
-    cluster.waitForJettyToStop(jetty);
-
     waitForState("Expected replica " + replica.getName() + " on down node to be removed from cluster state", collectionName, (n, c) -> {
       Replica r = c.getReplica(replica.getCoreName());
       return r == null || r.getState() != Replica.State.ACTIVE;
@@ -91,21 +89,20 @@ public class DeleteInactiveReplicaTest extends SolrCloudTestCase {
       return c.getReplica(replica.getCoreName()) == null;
     });
 
-    cluster.startJettySolrRunner(jetty);
-    log.info("restarted jetty");
-
-    // Check that we can't create a core with no coreNodeName
-    try (SolrClient queryClient = getHttpSolrClient(jetty.getBaseUrl().toString())) {
-      Exception e = expectThrows(Exception.class, () -> {
-        CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
-        createRequest.setCoreName("testcore");
-        createRequest.setCollection(collectionName);
-        createRequest.setShardId("shard2");
-        queryClient.request(createRequest);
-      });
-      assertTrue("Unexpected error message: " + e.getMessage(), e.getMessage().contains("No coreNodeName for"));
-
-    }
+//    cluster.startJettySolrRunner(jetty);
+//    log.info("restarted jetty");
+//
+//    // Check that we can't create a core with no coreNodeName
+//    try (SolrClient queryClient = getHttpSolrClient(jetty.getBaseUrl().toString())) {
+//      Exception e = expectThrows(Exception.class, () -> {
+//        CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
+//        createRequest.setCoreName("testcore");
+//        createRequest.setCollection(collectionName);
+//        createRequest.setShardId("shard2");
+//        queryClient.request(createRequest);
+//      });
+//      assertTrue("Unexpected error message: " + e.getMessage(), e.getMessage().contains("No coreNodeName for"));
+//
+//    }
   }
-
 }


[lucene-solr] 05/06: @449 Start work on this test a bit.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 8f1def89ff50a9e725c4e430b4fdacf672a6e2f0
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 22:16:34 2020 -0500

    @449 Start work on this test a bit.
---
 solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
index f27d738..b9a62aa 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
@@ -28,6 +28,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
+import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.LuceneTestCase.Slow;
 import org.apache.solr.SolrTestCaseJ4;
 import org.apache.solr.common.cloud.OnReconnect;
@@ -47,6 +48,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @Slow
+@LuceneTestCase.Nightly
 @Ignore // nocommit debug
 public class LeaderElectionTest extends SolrTestCaseJ4 {
 
@@ -82,8 +84,10 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
     zkClient = server.getZkClient();
     zkStateReader = new ZkStateReader(zkClient);
     seqToThread = new ConcurrentHashMap<>();
-    zkClient.mkdir("/collections/collection1");
+    zkClient.mkdirs("/collections/collection1");
     zkClient.mkdir("/collections/collection2");
+    zkClient.mkdir("/collections/collection1/election");
+    zkClient.mkdir("/collections/collection2/election");
   }
 
   class TestLeaderElectionContext extends ShardLeaderElectionContextBase {
@@ -92,7 +96,8 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
     public TestLeaderElectionContext(LeaderElector leaderElector,
         String shardId, String collection, String coreNodeName, ZkNodeProps props,
         ZkController zkController, long runLeaderDelay) {
-      super (coreNodeName, "nocommit", "nocommit", props, zkController.getZkClient());
+      super (coreNodeName, "/collections/" + collection,
+              "/collections/" + collection + "/leader", props, zkController.getZkClient());
       this.runLeaderDelay = runLeaderDelay;
     }
 


[lucene-solr] 03/06: @447 Bring test back online.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 4b25abf3fe51163f388b51ae9e4d3735c4656678
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 21:46:00 2020 -0500

    @447 Bring test back online.
---
 .../src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java     | 4 +---
 .../src/java/org/apache/solr/cloud/SolrCloudTestCase.java           | 6 +++++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
index 80b611e..c0556af 100644
--- a/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/CollectionsAPISolrJTest.java
@@ -85,7 +85,6 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @LuceneTestCase.Slow
-@Ignore
 public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
 
@@ -239,10 +238,9 @@ public class CollectionsAPISolrJTest extends SolrCloudTestCase {
   }
 
   @Test
-  @Ignore // nocommit debug...
+  @Ignore // nocommit debug
   public void testCreateCollWithDefaultClusterPropertiesNewFormat() throws Exception {
     String COLL_NAME = "CollWithDefaultClusterProperties";
-
       V2Response rsp = new V2Request.Builder("/cluster")
           .withMethod(SolrRequest.METHOD.POST)
           .withPayload("{set-obj-property:{defaults : {collection:{numShards : 2 , nrtReplicas : 2}}}}")
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 bbf3299..90032e4 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
@@ -46,6 +46,7 @@ import org.apache.solr.client.solrj.embedded.JettySolrRunner;
 import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient;
 import org.apache.solr.client.solrj.impl.CloudSolrClient;
 import org.apache.solr.client.solrj.impl.Http2SolrClient;
+import org.apache.solr.client.solrj.impl.HttpClientUtil;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.impl.ZkClientClusterStateProvider;
 import org.apache.solr.client.solrj.request.CoreAdminRequest;
@@ -60,6 +61,7 @@ import org.apache.solr.common.cloud.Slice;
 import org.apache.solr.common.cloud.SolrZkClient;
 import org.apache.solr.common.cloud.ZkStateReader;
 import org.apache.solr.common.params.CollectionAdminParams;
+import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.SolrQueuedThreadPool;
 import org.junit.AfterClass;
@@ -475,7 +477,9 @@ public class SolrCloudTestCase extends SolrTestCaseJ4 {
    * This assumes that the replica is hosted on a live node.
    */
   protected static CoreStatus getCoreStatus(Replica replica) throws IOException, SolrServerException {
-    return CoreAdminRequest.getCoreStatus(replica.getCoreName(), cluster.getSolrClient().getHttpClient());
+    try (Http2SolrClient client = new Http2SolrClient.Builder(replica.getBaseUrl()).withHttpClient(cluster.getSolrClient().getHttpClient()).build()) {
+      return CoreAdminRequest.getCoreStatus(replica.getCoreName(), client);
+    }
   }
 
   protected NamedList waitForResponse(Predicate<NamedList> predicate, SolrRequest request, int intervalInMillis, int numRetries, String messageOnFail) {


[lucene-solr] 02/06: @446 Still can leak.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit f760538c4d32f62a8e1ecda49c59bc53e3ca4ed5
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 21:45:46 2020 -0500

    @446 Still can leak.
---
 solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
index 020e920..b286aac 100644
--- a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
@@ -311,14 +311,13 @@ public abstract class AuditLoggerPlugin implements Closeable, Runnable, SolrInfo
    */
   @Override
   public void close() throws IOException {
-    if (async && executorService != null) {
+    if (executorService != null) {
       executorService.shutdown();
       waitForQueueToDrain(15);
       closed = true;
       log.info("Shutting down async Auditlogger background thread(s)");
-      if (executorService != null) {
-        ParWork.close(executorService);
-      }
+      executorService.shutdownNow();
+      ParWork.close(executorService);
     }
     try {
       SolrInfoBean.super.close();


[lucene-solr] 01/06: @445 Harden test.

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

markrmiller pushed a commit to branch reference_impl
in repository https://gitbox.apache.org/repos/asf/lucene-solr.git

commit 2b4836878724b0111b75373abfabe39ca60cf3bf
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Tue Jul 28 21:15:29 2020 -0500

    @445 Harden test.
---
 solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java | 2 +-
 solr/core/src/java/org/apache/solr/core/CoreContainer.java           | 5 +++--
 .../src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java    | 3 ---
 3 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
index a889884..07c1342 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ZkStateWriter.java
@@ -190,7 +190,7 @@ public class ZkStateWriter {
         DocCollection c = entry.getValue();
         Integer prevVersion = -1;
         if (lastUpdatedTime == -1) {
-          prevVersion = 0;
+          prevVersion = -1;
         }
         Stat stat = new Stat();
 
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index ce5e970..b170673 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -1258,6 +1258,7 @@ public class CoreContainer implements Closeable {
     if (isShutDown) {
       throw new AlreadyClosedException();
     }
+    SolrCore core = null;
     CoreDescriptor cd = new CoreDescriptor(coreName, instancePath, parameters, getContainerProperties(), getZkController());
 
     // TODO: There's a race here, isn't there?
@@ -1286,7 +1287,6 @@ public class CoreContainer implements Closeable {
       // first and clean it up if there's an error.
       coresLocator.create(this, cd);
 
-      SolrCore core = null;
       try {
         solrCores.waitAddPendingCoreOps(cd.getName());
         core = createFromDescriptor(cd, true, newCollection);
@@ -1314,6 +1314,7 @@ public class CoreContainer implements Closeable {
         }
       }
 
+      ParWork.close(core);
       Throwable tc = ex;
       Throwable c = null;
       do {
@@ -1409,7 +1410,7 @@ public class CoreContainer implements Closeable {
       solrCores.removeCoreDescriptor(dcore);
       final SolrException solrException = new SolrException(ErrorCode.SERVER_ERROR, "Unable to create core [" + dcore.getName() + "]", e);
       if (core != null && !core.isClosed())
-        IOUtils.closeQuietly(core);
+        ParWork.close(core);
       throw solrException;
     } catch (Throwable t) {
       log.error("Unable to create SolrCore", t);
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
index c62e098..0705511 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteInactiveReplicaTest.java
@@ -63,9 +63,6 @@ public class DeleteInactiveReplicaTest extends SolrCloudTestCase {
     CollectionAdminRequest.createCollection(collectionName, "conf", numShards, replicationFactor)
         .setMaxShardsPerNode(maxShardsPerNode)
         .process(cluster.getSolrClient());
-    waitForState("Expected a cluster of 2 shards and 2 replicas", collectionName, (n, c) -> {
-      return DocCollection.isFullyActive(n, c, numShards, replicationFactor);
-    });
 
     DocCollection collectionState = getCollectionState(collectionName);