Skip to content

Commit

Permalink
[CORE] move InternalEngine.segmentStats() into abstract Engine
Browse files Browse the repository at this point in the history
  • Loading branch information
dakrone committed Feb 17, 2015
1 parent add4339 commit a22bd49
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 25 deletions.
29 changes: 27 additions & 2 deletions src/main/java/org/elasticsearch/index/engine/Engine.java
Expand Up @@ -283,7 +283,30 @@ protected void ensureOpen() {
/**
* Global stats on segments.
*/
public abstract SegmentsStats segmentsStats();
public final SegmentsStats segmentsStats() {
ensureOpen();
try (final Searcher searcher = acquireSearcher("segments_stats")) {
SegmentsStats stats = new SegmentsStats();
for (LeafReaderContext reader : searcher.reader().leaves()) {
final SegmentReader segmentReader = segmentReader(reader.reader());
stats.add(1, segmentReader.ramBytesUsed());
stats.addTermsMemoryInBytes(guardedRamBytesUsed(segmentReader.getPostingsReader()));
stats.addStoredFieldsMemoryInBytes(guardedRamBytesUsed(segmentReader.getFieldsReader()));
stats.addTermVectorsMemoryInBytes(guardedRamBytesUsed(segmentReader.getTermVectorsReader()));
stats.addNormsMemoryInBytes(guardedRamBytesUsed(segmentReader.getNormsReader()));
stats.addDocValuesMemoryInBytes(guardedRamBytesUsed(segmentReader.getDocValuesReader()));
}
writerSegmentStats(stats);
return stats;
}
}

protected void writerSegmentStats(SegmentsStats stats) {
// by default we don't have a writer here... subclasses can override this
stats.addVersionMapMemoryInBytes(0);
stats.addIndexWriterMemoryInBytes(0);
stats.addIndexWriterMaxMemoryInBytes(0);
}

protected Segment[] getSegmentInfo(SegmentInfos lastCommittedSegmentInfos, boolean verbose) {
ensureOpen();
Expand Down Expand Up @@ -405,7 +428,9 @@ public final boolean refreshNeeded() {
/**
* Optimizes to 1 segment
*/
abstract void forceMerge(boolean flush);
public void forceMerge(boolean flush) {
forceMerge(flush, 1, false, false);
}

/**
* Triggers a forced merge on this engine
Expand Down
27 changes: 4 additions & 23 deletions src/main/java/org/elasticsearch/index/engine/InternalEngine.java
Expand Up @@ -706,11 +706,6 @@ private void waitForMerges(boolean flushAfter, boolean upgrade) {
}
}

@Override
public void forceMerge(boolean flush) {
forceMerge(flush, 1, false, false);
}

@Override
public void forceMerge(final boolean flush, int maxNumSegments, boolean onlyExpungeDeletes, final boolean upgrade) throws EngineException {
if (optimizeMutex.compareAndSet(false, true)) {
Expand Down Expand Up @@ -846,24 +841,10 @@ protected boolean maybeFailEngine(String source, Throwable t) {
}

@Override
public SegmentsStats segmentsStats() {
ensureOpen();
try (final Searcher searcher = acquireSearcher("segments_stats")) {
SegmentsStats stats = new SegmentsStats();
for (LeafReaderContext reader : searcher.reader().leaves()) {
final SegmentReader segmentReader = segmentReader(reader.reader());
stats.add(1, segmentReader.ramBytesUsed());
stats.addTermsMemoryInBytes(guardedRamBytesUsed(segmentReader.getPostingsReader()));
stats.addStoredFieldsMemoryInBytes(guardedRamBytesUsed(segmentReader.getFieldsReader()));
stats.addTermVectorsMemoryInBytes(guardedRamBytesUsed(segmentReader.getTermVectorsReader()));
stats.addNormsMemoryInBytes(guardedRamBytesUsed(segmentReader.getNormsReader()));
stats.addDocValuesMemoryInBytes(guardedRamBytesUsed(segmentReader.getDocValuesReader()));
}
stats.addVersionMapMemoryInBytes(versionMap.ramBytesUsed());
stats.addIndexWriterMemoryInBytes(indexWriter.ramBytesUsed());
stats.addIndexWriterMaxMemoryInBytes((long) (indexWriter.getConfig().getRAMBufferSizeMB() * 1024 * 1024));
return stats;
}
protected final void writerSegmentStats(SegmentsStats stats) {
stats.addVersionMapMemoryInBytes(versionMap.ramBytesUsed());
stats.addIndexWriterMemoryInBytes(indexWriter.ramBytesUsed());
stats.addIndexWriterMaxMemoryInBytes((long) (indexWriter.getConfig().getRAMBufferSizeMB() * 1024 * 1024));
}

@Override
Expand Down

0 comments on commit a22bd49

Please sign in to comment.