diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java index 06c90db37e9..8c7f423ea0e 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/BlockTermsReader.java @@ -854,7 +854,7 @@ public class BlockTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (indexReader != null) { resources.add(Accountables.namedAccountable("term index", indexReader)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java index 1087fa9d4c9..fa0a193508c 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/FixedGapTermsIndexReader.java @@ -262,7 +262,7 @@ public class FixedGapTermsIndexReader extends TermsIndexReaderBase { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (termOffsets != null) { resources.add(Accountables.namedAccountable("term lengths", termOffsets)); @@ -303,7 +303,7 @@ public class FixedGapTermsIndexReader extends TermsIndexReaderBase { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", fields); } diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java index 9a40baca269..eb396d4b77c 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blockterms/VariableGapTermsIndexReader.java @@ -165,7 +165,7 @@ public class VariableGapTermsIndexReader extends TermsIndexReaderBase { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { @@ -208,7 +208,7 @@ public class VariableGapTermsIndexReader extends TermsIndexReaderBase { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", fields); } diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java index 86a539653e6..fee335f73a0 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsBlockTreeTermsReader.java @@ -234,7 +234,7 @@ public final class OrdsBlockTreeTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", fields)); resources.add(Accountables.namedAccountable("delegate", postingsReader)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java index 591e91aa699..4e93f7228bc 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/blocktreeords/OrdsFieldReader.java @@ -174,7 +174,7 @@ final class OrdsFieldReader extends Terms implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (index == null) { return Collections.emptyList(); } else { diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java index fc292b62f3e..f5785455a46 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/bloom/BloomFilteringPostingsFormat.java @@ -407,7 +407,7 @@ public final class BloomFilteringPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", bloomsByFieldName)); if (delegateFieldsProducer != null) { diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java index faee6f2c130..d13e0d57468 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectDocValuesProducer.java @@ -259,7 +259,7 @@ class DirectDocValuesProducer extends DocValuesProducer { } @Override - public synchronized Iterable getChildResources() { + public synchronized Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("numeric field", numericInstances)); resources.addAll(Accountables.namedAccountables("binary field", binaryInstances)); @@ -661,7 +661,7 @@ class DirectDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (address != null) { resources.add(Accountables.namedAccountable("addresses", RamUsageEstimator.sizeOf(address))); @@ -700,7 +700,7 @@ class DirectDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return docToOrd.getChildResources(); } @@ -724,7 +724,7 @@ class DirectDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (docToAddress != null) { resources.add(Accountables.namedAccountable("addresses", docToAddress)); @@ -753,7 +753,7 @@ class DirectDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (docToOrdAddress != null) { resources.add(Accountables.namedAccountable("addresses", docToOrdAddress)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java index 578642fe6e8..8b21663eb52 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/DirectPostingsFormat.java @@ -162,7 +162,7 @@ public final class DirectPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", fields); } diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java index 90c3525e2ab..3d96a5ab33e 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTOrdTermsReader.java @@ -288,7 +288,7 @@ public class FSTOrdTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (index == null) { return Collections.emptyList(); } else { @@ -865,7 +865,7 @@ public class FSTOrdTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", fields)); resources.add(Accountables.namedAccountable("delegate", postingsReader)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java index ee8629c66a6..c2f2a753996 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/FSTTermsReader.java @@ -191,7 +191,7 @@ public class FSTTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (dict == null) { return Collections.emptyList(); } else { @@ -763,7 +763,7 @@ public class FSTTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", fields)); resources.add(Accountables.namedAccountable("delegate", postingsReader)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java index 8e2189bf8d6..aa3d188abe4 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryDocValuesProducer.java @@ -296,7 +296,7 @@ class MemoryDocValuesProducer extends DocValuesProducer { } @Override - public synchronized Iterable getChildResources() { + public synchronized Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("numeric field", numericInfo)); resources.addAll(Accountables.namedAccountables("pagedbytes field", pagedBytesInstances)); @@ -799,7 +799,7 @@ class MemoryDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (addresses != null) { resources.add(Accountables.namedAccountable("addresses", addresses)); diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java index 1c96d9daa7f..bc5d23445ff 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/memory/MemoryPostingsFormat.java @@ -958,7 +958,7 @@ public final class MemoryPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { @@ -1033,7 +1033,7 @@ public final class MemoryPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", fields); } diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java index 1b17a84fd34..908ee51d5c8 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextFieldsReader.java @@ -595,7 +595,7 @@ class SimpleTextFieldsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { @@ -700,7 +700,7 @@ class SimpleTextFieldsReader extends FieldsProducer { } @Override - public synchronized Iterable getChildResources() { + public synchronized Iterable getChildResources() { return Accountables.namedAccountables("field", termsCache); } diff --git a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java index 3bb1ff127e2..8213bc265f5 100644 --- a/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java +++ b/lucene/codecs/src/java/org/apache/lucene/codecs/simpletext/SimpleTextNormsFormat.java @@ -82,7 +82,7 @@ public class SimpleTextNormsFormat extends NormsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return impl.getChildResources(); } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java index ab61a647328..403ae3f908b 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/BlockTreeTermsReader.java @@ -281,7 +281,7 @@ public final class BlockTreeTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", fields)); resources.add(Accountables.namedAccountable("delegate", postingsReader)); diff --git a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java index 7ec70532099..693838bb0e9 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/blocktree/FieldReader.java @@ -186,7 +186,7 @@ public final class FieldReader extends Terms implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (index == null) { return Collections.emptyList(); } else { diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java index 0185c84a489..f6e24a702ba 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsIndexReader.java @@ -22,6 +22,7 @@ import static org.apache.lucene.util.BitUtil.zigZagDecode; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.apache.lucene.index.CorruptIndexException; @@ -188,7 +189,7 @@ public final class CompressingStoredFieldsIndexReader implements Cloneable, Acco } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); long docBaseDeltaBytes = RamUsageEstimator.shallowSizeOf(docBasesDeltas); @@ -203,7 +204,7 @@ public final class CompressingStoredFieldsIndexReader implements Cloneable, Acco } resources.add(Accountables.namedAccountable("start pointer deltas", startPointerDeltaBytes)); - return resources; + return Collections.unmodifiableList(resources); } @Override diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java index f749d0a668c..872bda645e8 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingStoredFieldsReader.java @@ -611,7 +611,7 @@ public final class CompressingStoredFieldsReader extends StoredFieldsReader { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Collections.singleton(Accountables.namedAccountable("stored field index", indexReader)); } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java index a545e9a1d36..1fc74adcdbf 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/compressing/CompressingTermVectorsReader.java @@ -1074,7 +1074,7 @@ public final class CompressingTermVectorsReader extends TermVectorsReader implem } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Collections.singleton(Accountables.namedAccountable("term vector index", indexReader)); } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java index efae5d4e1b6..91df8541d37 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50DocValuesProducer.java @@ -382,7 +382,7 @@ class Lucene50DocValuesProducer extends DocValuesProducer implements Closeable { } @Override - public synchronized Iterable getChildResources() { + public synchronized Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("addresses field", addressInstances)); resources.addAll(Accountables.namedAccountables("ord index field", ordIndexInstances)); @@ -872,7 +872,7 @@ class Lucene50DocValuesProducer extends DocValuesProducer implements Closeable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.add(Accountables.namedAccountable("term bytes", terms)); resources.add(Accountables.namedAccountable("term addresses", termAddresses)); diff --git a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java index 7f18138cfac..e6427153d13 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/lucene50/Lucene50NormsProducer.java @@ -18,7 +18,10 @@ package org.apache.lucene.codecs.lucene50; */ import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; @@ -61,8 +64,7 @@ class Lucene50NormsProducer extends NormsProducer { private final IndexInput data; // ram instances we have already loaded - final Map instances = new HashMap<>(); - final Map instancesInfo = new HashMap<>(); + final Map instances = new HashMap<>(); private final AtomicLong ramBytesUsed; private final AtomicInteger activeCount = new AtomicInteger(); @@ -76,7 +78,6 @@ class Lucene50NormsProducer extends NormsProducer { norms.putAll(original.norms); data = original.data.clone(); instances.putAll(original.instances); - instancesInfo.putAll(original.instancesInfo); ramBytesUsed = new AtomicLong(original.ramBytesUsed.get()); activeCount.set(original.activeCount.get()); maxDoc = original.maxDoc; @@ -168,15 +169,13 @@ class Lucene50NormsProducer extends NormsProducer { @Override public synchronized NumericDocValues getNorms(FieldInfo field) throws IOException { - NumericDocValues instance = instances.get(field.name); + Norms instance = instances.get(field.name); if (instance == null) { - LoadedNorms loaded = loadNorms(norms.get(field.name)); - instance = loaded.norms; + instance = loadNorms(norms.get(field.name)); if (!merging) { instances.put(field.name, instance); activeCount.incrementAndGet(); - ramBytesUsed.addAndGet(loaded.ramBytesUsed); - instancesInfo.put(field.name, loaded.info); + ramBytesUsed.addAndGet(instance.ramBytesUsed()); } } return instance; @@ -188,8 +187,8 @@ class Lucene50NormsProducer extends NormsProducer { } @Override - public synchronized Iterable getChildResources() { - return Accountables.namedAccountables("field", instancesInfo); + public synchronized Iterable getChildResources() { + return Accountables.namedAccountables("field", instances); } @Override @@ -197,44 +196,74 @@ class Lucene50NormsProducer extends NormsProducer { CodecUtil.checksumEntireFile(data); } - private LoadedNorms loadNorms(NormsEntry entry) throws IOException { - LoadedNorms instance = new LoadedNorms(); + private Norms loadNorms(NormsEntry entry) throws IOException { switch(entry.format) { case CONST_COMPRESSED: { final long v = entry.offset; - instance.info = Accountables.namedAccountable("constant", 8); - instance.ramBytesUsed = 8; - instance.norms = new NumericDocValues() { + return new Norms() { @Override public long get(int docID) { return v; } + + @Override + public long ramBytesUsed() { + return 8; + } + + @Override + public String toString() { + return "constant"; + } }; - break; } case UNCOMPRESSED: { data.seek(entry.offset); final byte bytes[] = new byte[entry.count]; data.readBytes(bytes, 0, bytes.length); - instance.info = Accountables.namedAccountable("byte array", bytes.length); - instance.ramBytesUsed = RamUsageEstimator.sizeOf(bytes); - instance.norms = new NumericDocValues() { + return new Norms() { @Override public long get(int docID) { return bytes[docID]; } + + @Override + public long ramBytesUsed() { + return RamUsageEstimator.sizeOf(bytes); + } + + @Override + public String toString() { + return "byte array"; + } }; - break; } case DELTA_COMPRESSED: { data.seek(entry.offset); int packedIntsVersion = data.readVInt(); int blockSize = data.readVInt(); final BlockPackedReader reader = new BlockPackedReader(data, packedIntsVersion, blockSize, entry.count, false); - instance.info = Accountables.namedAccountable("delta compressed", reader); - instance.ramBytesUsed = reader.ramBytesUsed(); - instance.norms = reader; - break; + return new Norms() { + @Override + public long get(int docID) { + return reader.get(docID); + } + + @Override + public long ramBytesUsed() { + return reader.ramBytesUsed(); + } + + @Override + public Iterable getChildResources() { + return Collections.singleton(reader); + } + + @Override + public String toString() { + return "delta compressed"; + } + }; } case TABLE_COMPRESSED: { data.seek(entry.offset); @@ -256,15 +285,27 @@ class Lucene50NormsProducer extends NormsProducer { } final PackedInts.Reader ordsReader = PackedInts.getReaderNoHeader(data, PackedInts.Format.byId(formatID), packedIntsVersion, entry.count, bitsPerValue); - instance.info = Accountables.namedAccountable("table compressed", ordsReader); - instance.ramBytesUsed = RamUsageEstimator.sizeOf(decode) + ordsReader.ramBytesUsed(); - instance.norms = new NumericDocValues() { + return new Norms() { @Override public long get(int docID) { return decode[(int)ordsReader.get(docID)]; } + + @Override + public long ramBytesUsed() { + return RamUsageEstimator.sizeOf(decode) + ordsReader.ramBytesUsed(); + } + + @Override + public Iterable getChildResources() { + return Collections.singleton(ordsReader); + } + + @Override + public String toString() { + return "table compressed"; + } }; - break; } case INDIRECT: { data.seek(entry.offset); @@ -272,12 +313,9 @@ class Lucene50NormsProducer extends NormsProducer { int packedIntsVersion = data.readVInt(); int blockSize = data.readVInt(); final MonotonicBlockPackedReader live = MonotonicBlockPackedReader.of(data, packedIntsVersion, blockSize, entry.count, false); - LoadedNorms nestedInstance = loadNorms(entry.nested); - instance.ramBytesUsed = live.ramBytesUsed() + nestedInstance.ramBytesUsed; - instance.info = Accountables.namedAccountable("indirect -> " + nestedInstance.info, instance.ramBytesUsed); - final NumericDocValues values = nestedInstance.norms; + final Norms nestedInstance = loadNorms(entry.nested); final int upperBound = entry.count-1; - instance.norms = new NumericDocValues() { + return new Norms() { @Override public long get(int docID) { int low = 0; @@ -291,13 +329,30 @@ class Lucene50NormsProducer extends NormsProducer { } else if (doc > docID) { high = mid - 1; } else { - return values.get(mid); + return nestedInstance.get(mid); } } return common; } + + @Override + public long ramBytesUsed() { + return live.ramBytesUsed() + nestedInstance.ramBytesUsed(); + } + + @Override + public Iterable getChildResources() { + List children = new ArrayList<>(); + children.add(Accountables.namedAccountable("keys", live)); + children.add(Accountables.namedAccountable("values", nestedInstance)); + return Collections.unmodifiableList(children); + } + + @Override + public String toString() { + return "indirect"; + } }; - break; } case PATCHED_BITSET: { data.seek(entry.offset); @@ -310,21 +365,35 @@ class Lucene50NormsProducer extends NormsProducer { int doc = (int) live.get(i); set.set(doc); } - LoadedNorms nestedInstance = loadNorms(entry.nested); - instance.ramBytesUsed = set.ramBytesUsed() + nestedInstance.ramBytesUsed; - instance.info = Accountables.namedAccountable("patched bitset -> " + nestedInstance.info, instance.ramBytesUsed); - final NumericDocValues values = nestedInstance.norms; - instance.norms = new NumericDocValues() { + Norms nestedInstance = loadNorms(entry.nested); + return new Norms() { @Override public long get(int docID) { if (set.get(docID)) { - return values.get(docID); + return nestedInstance.get(docID); } else { return common; } } + + @Override + public long ramBytesUsed() { + return set.ramBytesUsed() + nestedInstance.ramBytesUsed(); + } + + @Override + public Iterable getChildResources() { + List children = new ArrayList<>(); + children.add(Accountables.namedAccountable("keys", set)); + children.add(Accountables.namedAccountable("values", nestedInstance)); + return Collections.unmodifiableList(children); + } + + @Override + public String toString() { + return "patched bitset"; + } }; - break; } case PATCHED_TABLE: { data.seek(entry.offset); @@ -344,11 +413,9 @@ class Lucene50NormsProducer extends NormsProducer { } final PackedInts.Reader ordsReader = PackedInts.getReaderNoHeader(data, PackedInts.Format.byId(formatID), packedIntsVersion, entry.count, bitsPerValue); - final LoadedNorms nestedInstance = loadNorms(entry.nested); - instance.ramBytesUsed = RamUsageEstimator.sizeOf(decode) + ordsReader.ramBytesUsed() + nestedInstance.ramBytesUsed; - instance.info = Accountables.namedAccountable("patched table -> " + nestedInstance.info, instance.ramBytesUsed); - final NumericDocValues values = nestedInstance.norms; - instance.norms = new NumericDocValues() { + final Norms nestedInstance = loadNorms(entry.nested); + + return new Norms() { @Override public long get(int docID) { int ord = (int)ordsReader.get(docID); @@ -356,16 +423,32 @@ class Lucene50NormsProducer extends NormsProducer { // doing a try/catch here eliminates a seemingly unavoidable branch in hotspot... return decode[ord]; } catch (IndexOutOfBoundsException e) { - return values.get(docID); + return nestedInstance.get(docID); } } + + @Override + public long ramBytesUsed() { + return RamUsageEstimator.sizeOf(decode) + ordsReader.ramBytesUsed() + nestedInstance.ramBytesUsed(); + } + + @Override + public Iterable getChildResources() { + List children = new ArrayList<>(); + children.add(Accountables.namedAccountable("common", ordsReader)); + children.add(Accountables.namedAccountable("uncommon", nestedInstance)); + return Collections.unmodifiableList(children); + } + + @Override + public String toString() { + return "patched table"; + } }; - break; } default: throw new AssertionError(); } - return instance; } @Override @@ -380,10 +463,7 @@ class Lucene50NormsProducer extends NormsProducer { NormsEntry nested; } - static class LoadedNorms { - NumericDocValues norms; - long ramBytesUsed; - Accountable info; + static abstract class Norms extends NumericDocValues implements Accountable { } @Override diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java index 6141e41f555..646caf2f80c 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldDocValuesFormat.java @@ -330,7 +330,7 @@ public abstract class PerFieldDocValuesFormat extends DocValuesFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("format", formats); } diff --git a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java index 4ed01df034c..6e1e63233e9 100644 --- a/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java +++ b/lucene/core/src/java/org/apache/lucene/codecs/perfield/PerFieldPostingsFormat.java @@ -302,7 +302,7 @@ public abstract class PerFieldPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("format", formats); } diff --git a/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java b/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java index f9211241fdd..e4f3a8ecabc 100644 --- a/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java +++ b/lucene/core/src/java/org/apache/lucene/index/MultiDocValues.java @@ -638,7 +638,7 @@ public class MultiDocValues { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.add(Accountables.namedAccountable("global ord deltas", globalOrdDeltas)); resources.add(Accountables.namedAccountable("first segments", firstSegments)); diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java index c4c668eaa80..c99f0254a35 100644 --- a/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java +++ b/lucene/core/src/java/org/apache/lucene/index/SegmentDocValuesProducer.java @@ -159,7 +159,7 @@ class SegmentDocValuesProducer extends DocValuesProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); for (Accountable producer : dvProducers) { resources.add(Accountables.namedAccountable("delegate", producer)); diff --git a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java index 1d4dab08ea2..a59e292a467 100644 --- a/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java +++ b/lucene/core/src/java/org/apache/lucene/index/SegmentReader.java @@ -500,7 +500,7 @@ public final class SegmentReader extends LeafReader implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { ensureOpen(); List resources = new ArrayList<>(); resources.add(Accountables.namedAccountable("postings", core.fields)); diff --git a/lucene/core/src/java/org/apache/lucene/search/CachingWrapperFilter.java b/lucene/core/src/java/org/apache/lucene/search/CachingWrapperFilter.java index 2fe1cd1e4c8..821d110ad0e 100644 --- a/lucene/core/src/java/org/apache/lucene/search/CachingWrapperFilter.java +++ b/lucene/core/src/java/org/apache/lucene/search/CachingWrapperFilter.java @@ -159,7 +159,7 @@ public class CachingWrapperFilter extends Filter implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { // Sync to pull the current set of values: synchronized (cache) { // no need to clone, Accountable#namedAccountables already copies the data diff --git a/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java b/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java index 1d88ba8d82c..226ec766b2b 100644 --- a/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java +++ b/lucene/core/src/java/org/apache/lucene/search/FilteredDocIdSet.java @@ -70,7 +70,7 @@ public abstract class FilteredDocIdSet extends DocIdSet { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return _innerSet.getChildResources(); } diff --git a/lucene/core/src/java/org/apache/lucene/search/LRUFilterCache.java b/lucene/core/src/java/org/apache/lucene/search/LRUFilterCache.java index da3ed9caa00..49d6f872d1b 100644 --- a/lucene/core/src/java/org/apache/lucene/search/LRUFilterCache.java +++ b/lucene/core/src/java/org/apache/lucene/search/LRUFilterCache.java @@ -261,7 +261,7 @@ public class LRUFilterCache implements FilterCache, Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { synchronized (this) { return Accountables.namedAccountables("segment", cache); } diff --git a/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java b/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java index e4ecd708452..26a05040646 100644 --- a/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java +++ b/lucene/core/src/java/org/apache/lucene/store/NRTCachingDirectory.java @@ -260,7 +260,7 @@ public class NRTCachingDirectory extends FilterDirectory implements Accountable } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Collections.singleton(Accountables.namedAccountable("cache", cache)); } } diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java b/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java index acc10e2edfd..49e20cf8651 100644 --- a/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java +++ b/lucene/core/src/java/org/apache/lucene/store/RAMDirectory.java @@ -143,7 +143,7 @@ public class RAMDirectory extends BaseDirectory implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("file", fileMap); } diff --git a/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java b/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java index 5c7021cec7f..5efd16d6cc9 100644 --- a/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java +++ b/lucene/core/src/java/org/apache/lucene/store/RAMOutputStream.java @@ -193,7 +193,7 @@ public class RAMOutputStream extends IndexOutput implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Collections.singleton(Accountables.namedAccountable("file", file)); } diff --git a/lucene/core/src/java/org/apache/lucene/util/Accountable.java b/lucene/core/src/java/org/apache/lucene/util/Accountable.java index d8848dbf377..78f0db45e05 100644 --- a/lucene/core/src/java/org/apache/lucene/util/Accountable.java +++ b/lucene/core/src/java/org/apache/lucene/util/Accountable.java @@ -36,7 +36,7 @@ public interface Accountable { * The result should be a point-in-time snapshot (to avoid race conditions). * @see Accountables */ - default Iterable getChildResources() { + default Iterable getChildResources() { return Collections.emptyList(); } diff --git a/lucene/core/src/java/org/apache/lucene/util/Accountables.java b/lucene/core/src/java/org/apache/lucene/util/Accountables.java index ab96795c446..d69b8bc9473 100644 --- a/lucene/core/src/java/org/apache/lucene/util/Accountables.java +++ b/lucene/core/src/java/org/apache/lucene/util/Accountables.java @@ -128,8 +128,8 @@ public class Accountables { } @Override - public Iterable getChildResources() { - return children; + public Iterable getChildResources() { + return (Iterable) children; } @Override diff --git a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java index cee151f0791..b03763a31d2 100644 --- a/lucene/core/src/java/org/apache/lucene/util/fst/FST.java +++ b/lucene/core/src/java/org/apache/lucene/util/fst/FST.java @@ -445,7 +445,7 @@ public final class FST implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (packed) { resources.add(Accountables.namedAccountable("node ref to address", nodeRefToAddress)); diff --git a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java index 960970d1e19..d0bf4b3dc85 100644 --- a/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java +++ b/lucene/facet/src/java/org/apache/lucene/facet/taxonomy/CachedOrdinalsReader.java @@ -161,7 +161,7 @@ public class CachedOrdinalsReader extends OrdinalsReader implements Accountable } @Override - public synchronized Iterable getChildResources() { + public synchronized Iterable getChildResources() { return Accountables.namedAccountables("segment", ordsCache); } } diff --git a/lucene/join/src/java/org/apache/lucene/search/join/BitDocIdSetCachingWrapperFilter.java b/lucene/join/src/java/org/apache/lucene/search/join/BitDocIdSetCachingWrapperFilter.java index 6bab7e0f5ad..a4eb3859a5f 100644 --- a/lucene/join/src/java/org/apache/lucene/search/join/BitDocIdSetCachingWrapperFilter.java +++ b/lucene/join/src/java/org/apache/lucene/search/join/BitDocIdSetCachingWrapperFilter.java @@ -90,7 +90,7 @@ public class BitDocIdSetCachingWrapperFilter extends BitDocIdSetFilter implement } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return filter.getChildResources(); } diff --git a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java index db883973b8e..a7b5b89fd33 100644 --- a/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java +++ b/lucene/misc/src/java/org/apache/lucene/uninverting/FieldCacheImpl.java @@ -603,7 +603,7 @@ class FieldCacheImpl implements FieldCache { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.add(Accountables.namedAccountable("term bytes", bytes)); resources.add(Accountables.namedAccountable("ord -> term", termOrdToBytesOffset)); @@ -746,7 +746,7 @@ class FieldCacheImpl implements FieldCache { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.add(Accountables.namedAccountable("term bytes", bytes)); resources.add(Accountables.namedAccountable("addresses", docToOffset)); diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java index 93937cebd27..168c2ef8e04 100644 --- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java +++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionBlockTreeTermsReader.java @@ -232,7 +232,7 @@ public final class VersionBlockTreeTermsReader extends FieldsProducer { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); resources.addAll(Accountables.namedAccountables("field", fields)); resources.add(Accountables.namedAccountable("delegate", postingsReader)); diff --git a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java index a7872375c0a..b92d8ef3380 100644 --- a/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java +++ b/lucene/sandbox/src/java/org/apache/lucene/codecs/idversion/VersionFieldReader.java @@ -163,7 +163,7 @@ final class VersionFieldReader extends Terms implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (index == null) { return Collections.emptyList(); } else { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java index 6d3c2088b72..be1874b223b 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingInfixSuggester.java @@ -730,7 +730,7 @@ public class AnalyzingInfixSuggester extends Lookup implements Closeable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); try { if (searcherMgr != null) { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java index 374278327b1..c95a49c4542 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/AnalyzingSuggester.java @@ -262,7 +262,7 @@ public class AnalyzingSuggester extends Lookup { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java index 075891781f8..08e9debb6a5 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/analyzing/FreeTextSuggester.java @@ -213,7 +213,7 @@ public class FreeTextSuggester extends Lookup { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java index 81765ee6053..906c2f488c0 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/FSTCompletionLookup.java @@ -315,7 +315,7 @@ public class FSTCompletionLookup extends Lookup implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { List resources = new ArrayList<>(); if (normalCompletion != null) { resources.add(Accountables.namedAccountable("fst", normalCompletion.getFST())); diff --git a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java index 82cf4c7f7d2..a35ddf7eb8b 100644 --- a/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java +++ b/lucene/suggest/src/java/org/apache/lucene/search/suggest/fst/WFSTCompletionLookup.java @@ -301,7 +301,7 @@ public class WFSTCompletionLookup extends Lookup { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { if (fst == null) { return Collections.emptyList(); } else { diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java index b8d04b1abf1..4d9fbaf7e67 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingDocValuesFormat.java @@ -290,8 +290,8 @@ public class AssertingDocValuesFormat extends DocValuesFormat { } @Override - public Iterable getChildResources() { - Iterable res = in.getChildResources(); + public Iterable getChildResources() { + Iterable res = in.getChildResources(); TestUtil.checkIterator(res.iterator()); return res; } diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java index a7cca084df7..d3cb2b3289b 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingNormsFormat.java @@ -112,8 +112,8 @@ public class AssertingNormsFormat extends NormsFormat { } @Override - public Iterable getChildResources() { - Iterable res = in.getChildResources(); + public Iterable getChildResources() { + Iterable res = in.getChildResources(); TestUtil.checkIterator(res.iterator()); return res; } diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java index ae0225305db..5bf2fb352b3 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingPostingsFormat.java @@ -100,8 +100,8 @@ public final class AssertingPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { - Iterable res = in.getChildResources(); + public Iterable getChildResources() { + Iterable res = in.getChildResources(); TestUtil.checkIterator(res.iterator()); return res; } diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java index e8beeae674b..d8006b99772 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingStoredFieldsFormat.java @@ -85,8 +85,8 @@ public class AssertingStoredFieldsFormat extends StoredFieldsFormat { } @Override - public Iterable getChildResources() { - Iterable res = in.getChildResources(); + public Iterable getChildResources() { + Iterable res = in.getChildResources(); TestUtil.checkIterator(res.iterator()); return res; } diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java index dd84348237b..2b4ef0a7962 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/asserting/AssertingTermVectorsFormat.java @@ -84,8 +84,8 @@ public class AssertingTermVectorsFormat extends TermVectorsFormat { } @Override - public Iterable getChildResources() { - Iterable res = in.getChildResources(); + public Iterable getChildResources() { + Iterable res = in.getChildResources(); TestUtil.checkIterator(res.iterator()); return res; } diff --git a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java index e5a2a382448..008bf9e44ca 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java +++ b/lucene/test-framework/src/java/org/apache/lucene/codecs/ramonly/RAMOnlyPostingsFormat.java @@ -98,7 +98,7 @@ public final class RAMOnlyPostingsFormat extends PostingsFormat { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", fieldToTerms); } diff --git a/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java b/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java index b61971bfe32..0a262505af8 100644 --- a/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java +++ b/lucene/test-framework/src/java/org/apache/lucene/util/BaseBitSetTestCase.java @@ -241,7 +241,7 @@ public abstract class BaseBitSetTestCase extends LuceneTestCas } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Collections.emptyList(); } diff --git a/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java b/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java index 33881cf3728..ebaad9f9763 100644 --- a/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java +++ b/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java @@ -342,7 +342,7 @@ public class SuggestComponent extends SearchComponent implements SolrCoreAware, } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return Accountables.namedAccountables("field", suggesters); } diff --git a/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java b/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java index 13cf979fbf5..3eaef2b8b46 100644 --- a/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java +++ b/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java @@ -213,7 +213,7 @@ public class SolrSuggester implements Accountable { } @Override - public Iterable getChildResources() { + public Iterable getChildResources() { return lookup.getChildResources(); }