Author: mduerig
Date: Mon Mar 30 13:36:14 2015
New Revision: 1670092
URL: http://svn.apache.org/r1670092
Log:
OAK-2680: Report a full observation queue situation to the logfile
Leave the logging to clients but provide accessor for the max queue length
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java?rev=1670092&r1=1670091&r2=1670092&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/spi/commit/BackgroundObserver.java
Mon Mar 30 13:36:14 2015
@@ -51,7 +51,6 @@ import org.slf4j.LoggerFactory;
* to just one change.
*/
public class BackgroundObserver implements Observer, Closeable {
- private static final Logger LOG =
LoggerFactory.getLogger(BackgroundObserver.class);
/**
* Signal for the background thread to stop processing changes.
@@ -179,15 +178,10 @@ public class BackgroundObserver implemen
protected void added(int queueSize) { }
/**
- * Private utility to report queue size to observers
- * @param queueSize current size of the queue
+ * @return The max queue length used for this observer's queue
*/
- private void reportAdded(int queueSize){
- if(queueSize == maxQueueLength ){
- LOG.warn("Revision queue for observer {} is full (max = {}).
Further revisions will be compacted.",
- observer != null ? observer.getClass().getName(): "",
maxQueueLength);
- }
- added(queueSize);
+ public int getMaxQueueLength() {
+ return maxQueueLength;
}
/**
@@ -251,7 +245,7 @@ public class BackgroundObserver implemen
// to onComplete are not a problem here since we always pass the same
value.
// Thus there is no question as to which of the handlers will
effectively run.
currentTask.onComplete(completionHandler);
- reportAdded(queue.size());
+ added(queue.size());
}
//------------------------------------------------------------< internal
>---