You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2016/09/29 06:03:36 UTC

lucene-solr:master: SOLR-8995: use lambdas for CoreCloseListener

Repository: lucene-solr
Updated Branches:
  refs/heads/master 5c5c0c93a -> e8767daa7


SOLR-8995: use lambdas for CoreCloseListener


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/e8767daa
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/e8767daa
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/e8767daa

Branch: refs/heads/master
Commit: e8767daa7b6df51e618d49c06fa2b7c8c3ab2233
Parents: 5c5c0c9
Author: Noble Paul <no...@apache.org>
Authored: Thu Sep 29 11:33:22 2016 +0530
Committer: Noble Paul <no...@apache.org>
Committed: Thu Sep 29 11:33:22 2016 +0530

----------------------------------------------------------------------
 .../src/java/org/apache/lucene/index/LeafReader.java     |  5 ++---
 .../src/java/org/apache/lucene/search/LRUQueryCache.java |  8 +-------
 .../org/apache/lucene/index/AssertingLeafReader.java     | 11 ++++-------
 .../java/org/apache/solr/uninverting/FieldCacheImpl.java |  9 ++-------
 4 files changed, 9 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e8767daa/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
index fbabaf1..424e171 100644
--- a/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
+++ b/lucene/core/src/java/org/apache/lucene/index/LeafReader.java
@@ -18,7 +18,6 @@ package org.apache.lucene.index;
 
 import java.io.IOException;
 
-import org.apache.lucene.index.IndexReader.ReaderClosedListener;
 import org.apache.lucene.search.Sort;
 import org.apache.lucene.util.Bits;
 
@@ -77,12 +76,12 @@ public abstract class LeafReader extends IndexReader {
    *
    * @lucene.experimental
    */
-  public static interface CoreClosedListener {
+  public interface CoreClosedListener {
     /** Invoked when the shared core of the original {@code
      *  SegmentReader} has closed. The provided {@code
      *  ownerCoreCacheKey} will be the same key as the one
      *  returned by {@link LeafReader#getCoreCacheKey()}. */
-    public void onClose(Object ownerCoreCacheKey) throws IOException;
+    void onClose(Object ownerCoreCacheKey) throws IOException;
   }
 
   private static class CoreClosedListenerWrapper implements ReaderClosedListener {

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e8767daa/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
----------------------------------------------------------------------
diff --git a/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java b/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
index 44c04e5..0943cc3 100644
--- a/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
+++ b/lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java
@@ -32,7 +32,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.locks.ReentrantLock;
 import java.util.function.Predicate;
 
-import org.apache.lucene.index.LeafReader.CoreClosedListener;
 import org.apache.lucene.index.IndexReaderContext;
 import org.apache.lucene.index.LeafReaderContext;
 import org.apache.lucene.index.ReaderUtil;
@@ -316,12 +315,7 @@ public class LRUQueryCache implements QueryCache, Accountable {
         ramBytesUsed += HASHTABLE_RAM_BYTES_PER_ENTRY;
         assert previous == null;
         // we just created a new leaf cache, need to register a close listener
-        context.reader().addCoreClosedListener(new CoreClosedListener() {
-          @Override
-          public void onClose(Object ownerCoreCacheKey) {
-            clearCoreCacheKey(ownerCoreCacheKey);
-          }
-        });
+        context.reader().addCoreClosedListener(this::clearCoreCacheKey);
       }
       leafCache.putIfAbsent(query, set);
       evictIfNecessary();

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e8767daa/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
----------------------------------------------------------------------
diff --git a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
index a109eb8..cafd091 100644
--- a/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
+++ b/lucene/test-framework/src/java/org/apache/lucene/index/AssertingLeafReader.java
@@ -47,13 +47,10 @@ public class AssertingLeafReader extends FilterLeafReader {
     assert in.numDeletedDocs() + in.numDocs() == in.maxDoc();
     assert !in.hasDeletions() || in.numDeletedDocs() > 0 && in.numDocs() < in.maxDoc();
 
-    addCoreClosedListener(new CoreClosedListener() {
-      @Override
-      public void onClose(Object ownerCoreCacheKey) throws IOException {
-        final Object expectedKey = getCoreCacheKey();
-        assert expectedKey == ownerCoreCacheKey
-            : "Core closed listener called on a different key " + expectedKey + " <> " + ownerCoreCacheKey;
-      }
+    addCoreClosedListener(ownerCoreCacheKey -> {
+      final Object expectedKey = getCoreCacheKey();
+      assert expectedKey == ownerCoreCacheKey
+          : "Core closed listener called on a different key " + expectedKey + " <> " + ownerCoreCacheKey;
     });
   }
 

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/e8767daa/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java
----------------------------------------------------------------------
diff --git a/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java b/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java
index ab14785..f8bf774 100644
--- a/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java
+++ b/solr/core/src/java/org/apache/solr/uninverting/FieldCacheImpl.java
@@ -33,9 +33,9 @@ import org.apache.lucene.index.FieldInfo;
 import org.apache.lucene.index.IndexOptions;
 import org.apache.lucene.index.LeafReader;
 import org.apache.lucene.index.NumericDocValues;
+import org.apache.lucene.index.PointValues;
 import org.apache.lucene.index.PointValues.IntersectVisitor;
 import org.apache.lucene.index.PointValues.Relation;
-import org.apache.lucene.index.PointValues;
 import org.apache.lucene.index.PostingsEnum;
 import org.apache.lucene.index.SegmentReader;
 import org.apache.lucene.index.SortedDocValues;
@@ -112,12 +112,7 @@ class FieldCacheImpl implements FieldCache {
   }
 
   // per-segment fieldcaches don't purge until the shared core closes.
-  final SegmentReader.CoreClosedListener purgeCore = new SegmentReader.CoreClosedListener() {
-    @Override
-    public void onClose(Object ownerCoreCacheKey) {
-      FieldCacheImpl.this.purgeByCacheKey(ownerCoreCacheKey);
-    }
-  };
+  final SegmentReader.CoreClosedListener purgeCore = ownerCoreCacheKey -> FieldCacheImpl.this.purgeByCacheKey(ownerCoreCacheKey);
   
   private void initReader(LeafReader reader) {
     reader.addCoreClosedListener(purgeCore);