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/09/06 18:01:51 UTC

[lucene-solr] branch reference_impl_dev updated: @762 Prevent NPE, raise timeout.

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

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


The following commit(s) were added to refs/heads/reference_impl_dev by this push:
     new f3030f8  @762 Prevent NPE, raise timeout.
f3030f8 is described below

commit f3030f89f4899de171bd5dbeb77d6276d858f528
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Sun Sep 6 13:00:44 2020 -0500

    @762 Prevent NPE, raise timeout.
---
 .../org/apache/solr/cloud/api/collections/CreateCollectionCmd.java   | 4 ++--
 solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java  | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
index dcfea39..5855fe4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateCollectionCmd.java
@@ -329,8 +329,8 @@ public class CreateCollectionCmd implements OverseerCollectionMessageHandler.Cmd
       if(!isLegacyCloud) {
         // wait for all replica entries to be created
         Map<String,Replica> replicas = new ConcurrentHashMap<>();
-        zkStateReader.waitForState(collectionName, 5, TimeUnit.SECONDS, (n, c) -> c != null && c.getSlices().size() == shardNames.size());
-        zkStateReader.waitForState(collectionName, 10, TimeUnit.SECONDS, expectedReplicas(coresToCreate.size(), replicas)); // nocommit - timeout - keep this below containing timeouts - need central timeout stuff
+        //zkStateReader.waitForState(collectionName, 5, TimeUnit.SECONDS, (n, c) -> c != null && c.getSlices().size() == shardNames.size());
+        zkStateReader.waitForState(collectionName, 30, TimeUnit.SECONDS, expectedReplicas(coresToCreate.size(), replicas)); // nocommit - timeout - keep this below containing timeouts - need central timeout stuff
         // TODO what if replicas comes back wrong?
         if (replicas.size() > 0) {
           for (Map.Entry<String, ShardRequest> e : coresToCreate.entrySet()) {
diff --git a/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java b/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
index 99dabc2..f2ff4d0 100644
--- a/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
+++ b/solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java
@@ -51,6 +51,7 @@ import org.apache.solr.common.cloud.Replica;
 import org.apache.solr.common.params.ModifiableSolrParams;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.ObjectReleaseTracker;
+import org.apache.solr.core.CoreDescriptor;
 import org.apache.solr.core.SolrConfig.UpdateHandlerInfo;
 import org.apache.solr.core.SolrCore;
 import org.apache.solr.metrics.SolrMetricProducer;
@@ -118,7 +119,7 @@ public class DirectUpdateHandler2 extends UpdateHandler implements SolrCoreState
   
   public DirectUpdateHandler2(SolrCore core) {
     super(core);
-   
+    CoreDescriptor coreDescriptor = core.getCoreDescriptor();
     solrCoreState = core.getSolrCoreState();
     
     UpdateHandlerInfo updateHandlerInfo = core.getSolrConfig()
@@ -136,7 +137,7 @@ public class DirectUpdateHandler2 extends UpdateHandler implements SolrCoreState
     indexWriterCloseWaitsForMerges = updateHandlerInfo.indexWriterCloseWaitsForMerges;
 
     ZkController zkController = core.getCoreContainer().getZkController();
-    if (zkController != null && core.getCoreDescriptor().getCloudDescriptor().getReplicaType() == Replica.Type.TLOG) {
+    if (zkController != null && coreDescriptor != null && coreDescriptor.getCloudDescriptor().getReplicaType() == Replica.Type.TLOG) {
       commitWithinSoftCommit = false;
       commitTracker.setOpenSearcher(true);
     }