@Override public boolean isActiveQueueEmpty() { final FlowFileQueueSize queueSize = queue.getFlowFileQueueSize(); return queueSize.getActiveCount() == 0 && queueSize.getSwappedCount() == 0; }
@Override public QueueSize getSwapQueueSize() { return new QueueSize(queueSize.getSwappedCount(), queueSize.getSwappedBytes()); }
public boolean isActiveQueueEmpty() { final FlowFileQueueSize queueSize = getFlowFileQueueSize(); return queueSize.getActiveCount() == 0 && queueSize.getSwappedCount() == 0; }
@Override public QueueSize getSwapQueueSize() { return new QueueSize(queueSize.getSwappedCount(), queueSize.getSwappedBytes()); }
private void logIfNegative(final FlowFileQueueSize original, final FlowFileQueueSize newSize, final String counterName) { if (newSize.getActiveBytes() < 0 || newSize.getActiveCount() < 0 || newSize.getSwappedBytes() < 0 || newSize.getSwappedCount() < 0 || newSize.getUnacknowledgedBytes() < 0 || newSize.getUnacknowledgedCount() < 0) { logger.error("Updated Size of Queue " + counterName + " from " + original + " to " + newSize, new RuntimeException("Cannot create negative queue size")); } }
if (size.getSwappedCount() == 0 && swapQueue.isEmpty()) { return; if (size.getSwappedCount() > swapQueue.size()) { if (size.getSwappedCount() == 0) { swapMode = false;
private int getFlowFileCount() { final FlowFileQueueSize size = getFlowFileQueueSize(); return size.getActiveCount() + size.getSwappedCount() + size.getUnacknowledgedCount(); }
do { final FlowFileQueueSize currentSize = getFlowFileQueueSize(); swapSize = new QueueSize(currentSize.getSwappedCount() - swapQueueCount, currentSize.getSwappedBytes() - swapQueueBytes);
originalSize.getSwappedCount() + addedSwapRecords + flowFilesSwappedOut, originalSize.getSwappedBytes() + addedSwapBytes + bytesSwappedOut, originalSize.getSwapFileCount() + numSwapFiles,
private void incrementUnacknowledgedQueueSize(final int count, final long bytes) { boolean updated = false; while (!updated) { final FlowFileQueueSize original = size.get(); final FlowFileQueueSize newSize = new FlowFileQueueSize(original.getActiveCount(), original.getActiveBytes(), original.getSwappedCount(), original.getSwappedBytes(), original.getSwapFileCount(), original.getUnacknowledgedCount() + count, original.getUnacknowledgedBytes() + bytes); updated = updateSize(original, newSize); if (updated) { logIfNegative(original, newSize, "Unacknowledged"); } } }
protected void incrementActiveQueueSize(final int count, final long bytes) { boolean updated = false; while (!updated) { final FlowFileQueueSize original = size.get(); final FlowFileQueueSize newSize = new FlowFileQueueSize( original.getActiveCount() + count, original.getActiveBytes() + bytes, original.getSwappedCount(), original.getSwappedBytes(), original.getSwapFileCount(), original.getUnacknowledgedCount(), original.getUnacknowledgedBytes()); updated = updateSize(original, newSize); if (updated) { logIfNegative(original, newSize, "active"); } } }
private void incrementSwapQueueSize(final int count, final long bytes, final int fileCount) { boolean updated = false; while (!updated) { final FlowFileQueueSize original = getFlowFileQueueSize(); final FlowFileQueueSize newSize = new FlowFileQueueSize(original.getActiveCount(), original.getActiveBytes(), original.getSwappedCount() + count, original.getSwappedBytes() + bytes, original.getSwapFileCount() + fileCount, original.getUnacknowledgedCount(), original.getUnacknowledgedBytes()); updated = updateSize(original, newSize); if (updated) { logIfNegative(original, newSize, "swap"); } } }