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 2017/02/14 17:28:32 UTC
[1/2] lucene-solr:master: SOLR-9846: Track Overseer close better.
Repository: lucene-solr
Updated Branches:
refs/heads/master 738da0998 -> a1f114f70
SOLR-9846: Track Overseer close better.
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a243befd
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a243befd
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a243befd
Branch: refs/heads/master
Commit: a243befdbb4c011c33c27b1b864d4a202b401675
Parents: 738da09
Author: markrmiller <ma...@apache.org>
Authored: Mon Feb 13 12:08:10 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Tue Feb 14 12:05:37 2017 -0500
----------------------------------------------------------------------
solr/core/src/java/org/apache/solr/cloud/Overseer.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a243befd/solr/core/src/java/org/apache/solr/cloud/Overseer.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/cloud/Overseer.java b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
index 0b74ccb..3a8aa3e 100644
--- a/solr/core/src/java/org/apache/solr/cloud/Overseer.java
+++ b/solr/core/src/java/org/apache/solr/cloud/Overseer.java
@@ -490,7 +490,6 @@ public class Overseer implements Closeable {
this.zkController = zkController;
this.stats = new Stats();
this.config = config;
- assert ObjectReleaseTracker.track(this);
}
public synchronized void start(String id) {
@@ -521,6 +520,7 @@ public class Overseer implements Closeable {
updaterThread.start();
ccThread.start();
arfoThread.start();
+ assert ObjectReleaseTracker.track(this);
}
public Stats getStats() {
[2/2] lucene-solr:master: SOLR-10104: BlockDirectoryCache release
hooks do not work with multiple directories.
Posted by ma...@apache.org.
SOLR-10104: BlockDirectoryCache release hooks do not work with multiple directories.
# Conflicts:
# solr/CHANGES.txt
Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/a1f114f7
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/a1f114f7
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/a1f114f7
Branch: refs/heads/master
Commit: a1f114f70f3800292c25be08213edf39b3e37f6a
Parents: a243bef
Author: markrmiller <ma...@apache.org>
Authored: Tue Feb 14 11:33:18 2017 -0500
Committer: markrmiller <ma...@apache.org>
Committed: Tue Feb 14 12:06:44 2017 -0500
----------------------------------------------------------------------
solr/CHANGES.txt | 2 ++
.../java/org/apache/solr/store/blockcache/BlockCache.java | 10 ++++++----
.../java/org/apache/solr/cloud/MiniSolrCloudCluster.java | 2 +-
3 files changed, 9 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a1f114f7/solr/CHANGES.txt
----------------------------------------------------------------------
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index 88236ed..6cd5291 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -157,6 +157,8 @@ Bug Fixes
* SOLR-10063: CoreContainer shutdown has race condition that can cause a hang on shutdown. (Mark Miller)
+* SOLR-10104: BlockDirectoryCache release hooks do not work with multiple directories. (Mike Drob, Mark Miller)
+
Optimizations
----------------------
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a1f114f7/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java b/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
index 7a5c67c..f00ca1d 100644
--- a/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
+++ b/solr/core/src/java/org/apache/solr/store/blockcache/BlockCache.java
@@ -17,6 +17,8 @@
package org.apache.solr.store.blockcache;
import java.nio.ByteBuffer;
+import java.util.List;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import com.github.benmanes.caffeine.cache.Cache;
@@ -38,8 +40,8 @@ public class BlockCache {
private final int numberOfBlocksPerBank;
private final int maxEntries;
private final Metrics metrics;
- private volatile OnRelease onRelease;
-
+ private final List<OnRelease> onReleases = new CopyOnWriteArrayList<>();
+
public static interface OnRelease {
public void release(BlockCacheKey blockCacheKey);
}
@@ -95,7 +97,7 @@ public class BlockCache {
location.setRemoved(true);
locks[bankId].clear(block);
lockCounters[bankId].decrementAndGet();
- if (onRelease != null) {
+ for (OnRelease onRelease : onReleases) {
onRelease.release(blockCacheKey);
}
metrics.blockCacheEviction.incrementAndGet();
@@ -239,6 +241,6 @@ public class BlockCache {
}
void setOnRelease(OnRelease onRelease) {
- this.onRelease = onRelease;
+ this.onReleases.add(onRelease);
}
}
http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/a1f114f7/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
----------------------------------------------------------------------
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
index 81e1f22..7eb9b0d 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java
@@ -457,7 +457,7 @@ public class MiniSolrCloudCluster {
}
} finally {
executor.shutdown();
- executor.awaitTermination(2, TimeUnit.SECONDS);
+ executor.awaitTermination(15, TimeUnit.SECONDS);
try {
if (!externalZkServer) {
zkServer.shutdown();