Skip to content

Commit

Permalink
Core: don't block shard stats when phase 3 of recovery is running
Browse files Browse the repository at this point in the history
Today, shard stats are blocked while phase 3 of recovery (replay xlog)
is running; this change removes the engine readLock from shard stats
so it's not blocked.

Closes elastic#8910
  • Loading branch information
mikemccand committed Dec 12, 2014
1 parent b0fbb9f commit 13ca9e0
Showing 1 changed file with 13 additions and 13 deletions.
Expand Up @@ -1154,20 +1154,20 @@ private static long getReaderRamBytesUsed(AtomicReaderContext reader) {

@Override
public SegmentsStats segmentsStats() {
try (InternalLock _ = readLock.acquire()) {
ensureOpen();
Searcher searcher = acquireSearcher("segments_stats");
try {
SegmentsStats stats = new SegmentsStats();
for (AtomicReaderContext reader : searcher.reader().leaves()) {
stats.add(1, getReaderRamBytesUsed(reader));
}
stats.addVersionMapMemoryInBytes(versionMap.ramBytesUsed());
stats.addIndexWriterMemoryInBytes(indexWriter.ramBytesUsed());
return stats;
} finally {
searcher.close();
// Does ensureOpen for us:
final IndexWriter indexWriter = currentIndexWriter();
assert indexWriter != null;
Searcher searcher = acquireSearcher("segments_stats");
try {
SegmentsStats stats = new SegmentsStats();
for (AtomicReaderContext reader : searcher.reader().leaves()) {
stats.add(1, getReaderRamBytesUsed(reader));
}
stats.addVersionMapMemoryInBytes(versionMap.ramBytesUsed());
stats.addIndexWriterMemoryInBytes(indexWriter.ramBytesUsed());
return stats;
} finally {
searcher.close();
}
}

Expand Down

0 comments on commit 13ca9e0

Please sign in to comment.