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();