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/08/11 01:01:44 UTC
[lucene-solr] branch reference_impl_dev updated: @488 Harden test.
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 e82da9b @488 Harden test.
e82da9b is described below
commit e82da9b9bc56e082dfe463884381c62a87ca7dc4
Author: markrmiller@gmail.com <ma...@gmail.com>
AuthorDate: Mon Aug 10 20:01:20 2020 -0500
@488 Harden test.
---
.../src/java/org/apache/solr/handler/ReplicationHandler.java | 9 ++++-----
solr/core/src/java/org/apache/solr/handler/RestoreCore.java | 2 +-
solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java | 2 +-
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 0f45a3c..4a23ceb 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -176,7 +176,7 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
private ReentrantLock indexFetchLock = new ReentrantLock();
- private ExecutorService restoreExecutor = ExecutorUtil.newMDCAwareSingleThreadExecutor(
+ private final ExecutorService restoreExecutor = ExecutorUtil.newMDCAwareSingleThreadExecutor(
new SolrNamedThreadFactory("restoreExecutor"));
private volatile Future<Boolean> restoreFuture;
@@ -1415,10 +1415,9 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
core.addCloseHook(new CloseHook() {
@Override
public void preClose(SolrCore core) {
- ExecutorUtil.shutdownAndAwaitTermination(restoreExecutor);
- if (restoreFuture != null) {
- restoreFuture.cancel(false);
- }
+ restoreExecutor.shutdown();
+ restoreFuture.cancel(false);
+ ParWork.close(restoreExecutor);
}
@Override
diff --git a/solr/core/src/java/org/apache/solr/handler/RestoreCore.java b/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
index 7110d87..5256c2a 100644
--- a/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
+++ b/solr/core/src/java/org/apache/solr/handler/RestoreCore.java
@@ -134,7 +134,6 @@ public class RestoreCore implements Callable<Boolean> {
throw new SolrException(SolrException.ErrorCode.UNKNOWN, "Exception while restoring the backup index", e);
}
if (success) {
- core.getDirectoryFactory().doneWithDirectory(indexDir);
// Cleanup all index files not associated with any *named* snapshot.
core.deleteNonSnapshotIndexFiles(indexDirPath);
}
@@ -142,6 +141,7 @@ public class RestoreCore implements Callable<Boolean> {
return true;
} finally {
if (restoreIndexDir != null) {
+ core.getDirectoryFactory().doneWithDirectory(restoreIndexDir);
core.getDirectoryFactory().release(restoreIndexDir);
}
if (indexDir != null) {
diff --git a/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java b/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
index 2412197..d8572cf 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestRestoreCore.java
@@ -215,7 +215,7 @@ public class TestRestoreCore extends SolrJettyTestBase {
TestReplicationHandlerBackup.runBackupCommand(masterJetty, ReplicationHandler.CMD_RESTORE, params);
expectThrows(AssertionError.class, () -> {
- for (int i = 0; i < 10; i++) {
+ for (int i = 0; i < 20; i++) {
// this will throw an assertion once we get what we expect
fetchRestoreStatus(baseUrl, DEFAULT_TEST_CORENAME);
Thread.sleep(50);