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/10/29 17:32:17 UTC
[lucene-solr] branch reference_impl_dev updated: @1072 Harden.
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 f00aeab @1072 Harden.
f00aeab is described below
commit f00aeabdbd5ef5a70eccf165f3353a3f629b40bd
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Thu Oct 29 12:31:59 2020 -0500
@1072 Harden.
---
.../cloud/api/collections/OverseerCollectionMessageHandler.java | 9 ++++++++-
solr/core/src/java/org/apache/solr/update/UpdateLog.java | 4 ++++
solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java | 1 +
solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java | 1 +
.../src/test/org/apache/solr/handler/PingRequestHandlerTest.java | 2 ++
solr/core/src/test/org/apache/solr/handler/TestConfigReload.java | 4 +++-
6 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
index 8f8de2c..a62e83a 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/OverseerCollectionMessageHandler.java
@@ -844,8 +844,15 @@ public class OverseerCollectionMessageHandler implements OverseerMessageHandler,
if (overseer.isClosed()) {
throw new AlreadyClosedException();
}
+ boolean success = false;
+ for (int i = 0; i < 5; i++) {
+ if (overseer.isClosed() || overseer.getCoreContainer().isShutDown()) {
+ break;
+ }
+ success = latch.await(3, TimeUnit.SECONDS); // nocommit - still need a central timeout strat
+ }
+
- boolean success = latch.await(15, TimeUnit.SECONDS); // nocommit - still need a central timeout strat
if (!success) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Timeout waiting to see async zk node " + asyncPathToWaitOn);
}
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
index 4f126be..52d2f84 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
@@ -51,6 +51,7 @@ import com.codahale.metrics.Meter;
import org.apache.commons.lang3.concurrent.ConcurrentUtils;
import org.apache.hadoop.fs.FileSystem;
import org.apache.lucene.util.BytesRef;
+import org.apache.solr.common.AlreadyClosedException;
import org.apache.solr.common.ParWork;
import org.apache.solr.common.SolrDocumentBase;
import org.apache.solr.common.SolrException;
@@ -502,6 +503,9 @@ public class UpdateLog implements PluginInfoInitialized, SolrMetricProducer {
* change the implementation of the transaction log.
*/
public TransactionLog newTransactionLog(File tlogFile, Collection<String> globalStrings, boolean openExisting) {
+ if (isClosed || uhandler.core.isClosing()) {
+ throw new AlreadyClosedException();
+ }
return new TransactionLog(tlogFile, globalStrings, openExisting);
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
index 14e1f00..17ec68d 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteNodeTest.java
@@ -53,6 +53,7 @@ public class DeleteNodeTest extends SolrCloudTestCase {
public void test() throws Exception {
CloudHttp2SolrClient cloudClient = cluster.getSolrClient();
String coll = "deletenodetest_coll";
+ cloudClient.getZkStateReader().forciblyRefreshAllClusterStateSlow();
ClusterState state = cloudClient.getZkStateReader().getClusterState();
Set<String> liveNodes = state.getLiveNodes();
ArrayList<String> l = new ArrayList<>(liveNodes);
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 0786eb7..f85408e 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DeleteReplicaTest.java
@@ -200,6 +200,7 @@ public class DeleteReplicaTest extends SolrCloudTestCase {
@Test
// commented out on: 17-Feb-2019 @BadApple(bugUrl="https://issues.apache.org/jira/browse/SOLR-12028") // annotated on: 24-Dec-2018
+ @Nightly
public void deleteReplicaByCountForAllShards() throws Exception {
final String collectionName = "deleteByCountNew";
Create req = CollectionAdminRequest.createCollection(collectionName, "conf", 2, 2);
diff --git a/solr/core/src/test/org/apache/solr/handler/PingRequestHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/PingRequestHandlerTest.java
index c768615..4b988c0 100644
--- a/solr/core/src/test/org/apache/solr/handler/PingRequestHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/PingRequestHandlerTest.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.commons.io.FileUtils;
+import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.CloudHttp2SolrClient;
@@ -35,6 +36,7 @@ import org.apache.solr.response.SolrQueryResponse;
import org.junit.Before;
import org.junit.BeforeClass;
+@LuceneTestCase.Nightly // slow
public class PingRequestHandlerTest extends SolrTestCaseJ4 {
protected int NUM_SERVERS = 5;
protected int NUM_SHARDS = 2;
diff --git a/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java b/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
index 5b7db83..c09e35d 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestConfigReload.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.util.EntityUtils;
+import org.apache.lucene.util.LuceneTestCase;
import org.apache.solr.client.solrj.impl.Http2SolrClient;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
import org.apache.solr.cloud.AbstractFullDistribZkTestBase;
@@ -52,6 +53,7 @@ import org.slf4j.LoggerFactory;
import static java.util.Arrays.asList;
+@LuceneTestCase.Nightly
public class TestConfigReload extends SolrCloudBridgeTestCase {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -105,7 +107,7 @@ public class TestConfigReload extends SolrCloudBridgeTestCase {
HashSet<String> succeeded = new HashSet<>();
while ( TimeUnit.SECONDS.convert(System.nanoTime() - startTime, TimeUnit.NANOSECONDS) < maxTimeoutSeconds){
- Thread.sleep(500);
+ Thread.sleep(250);
for (String url : urls) {
MapWriter respMap = getAsMap(url + uri);
if (String.valueOf(newVersion).equals(respMap._getStr(asList(name, "znodeVersion"), null))) {