You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2014/05/09 11:26:59 UTC
svn commit: r1593501 - in
/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index:
FlushByRamOrCountsPolicy.java FlushPolicy.java
Author: mikemccand
Date: Fri May 9 09:26:58 2014
New Revision: 1593501
URL: http://svn.apache.org/r1593501
Log:
print number of active threads states in IW.infoStream, even when flushing due to RAM usage
Modified:
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java?rev=1593501&r1=1593500&r2=1593501&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushByRamOrCountsPolicy.java Fri May 9 09:26:58 2014
@@ -89,7 +89,7 @@ class FlushByRamOrCountsPolicy extends F
final long totalRam = control.activeBytes() + control.getDeleteBytesUsed();
if (totalRam >= limit) {
if (infoStream.isEnabled("FP")) {
- infoStream.message("FP", "flush: activeBytes=" + control.activeBytes() + " deleteBytes=" + control.getDeleteBytesUsed() + " vs limit=" + limit);
+ infoStream.message("FP", "trigger flush: activeBytes=" + control.activeBytes() + " deleteBytes=" + control.getDeleteBytesUsed() + " vs limit=" + limit);
}
markLargestWriterPending(control, state, totalRam);
}
@@ -102,8 +102,7 @@ class FlushByRamOrCountsPolicy extends F
*/
protected void markLargestWriterPending(DocumentsWriterFlushControl control,
ThreadState perThreadState, final long currentBytesPerThread) {
- control
- .setFlushPending(findLargestNonPendingWriter(control, perThreadState));
+ control.setFlushPending(findLargestNonPendingWriter(control, perThreadState));
}
/**
Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java?rev=1593501&r1=1593500&r2=1593501&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/index/FlushPolicy.java Fri May 9 09:26:58 2014
@@ -113,16 +113,23 @@ abstract class FlushPolicy implements Cl
ThreadState maxRamUsingThreadState = perThreadState;
assert !perThreadState.flushPending : "DWPT should have flushed";
Iterator<ThreadState> activePerThreadsIterator = control.allActiveThreadStates();
+ int count = 0;
while (activePerThreadsIterator.hasNext()) {
ThreadState next = activePerThreadsIterator.next();
if (!next.flushPending) {
final long nextRam = next.bytesUsed;
- if (nextRam > maxRamSoFar && next.dwpt.getNumDocsInRAM() > 0) {
- maxRamSoFar = nextRam;
- maxRamUsingThreadState = next;
+ if (nextRam > 0 && next.dwpt.getNumDocsInRAM() > 0) {
+ count++;
+ if (nextRam > maxRamSoFar) {
+ maxRamSoFar = nextRam;
+ maxRamUsingThreadState = next;
+ }
}
}
}
+ if (infoStream.isEnabled("FP")) {
+ infoStream.message("FP", count + " in-use non-flushing threads states");
+ }
assert assertMessage("set largest ram consuming thread pending on lower watermark");
return maxRamUsingThreadState;
}