@Override public boolean isActiveQueueEmpty() { final FlowFileQueueSize queueSize = queue.getFlowFileQueueSize(); return queueSize.getActiveCount() == 0 && queueSize.getSwappedCount() == 0; }
@Override public FlowFileRecord poll(final Set<FlowFileRecord> expiredRecords) { // First check if we have any records Pre-Fetched. final long expirationMillis = getFlowFileExpiration(TimeUnit.MILLISECONDS); return queue.poll(expiredRecords, expirationMillis); }
@Override public void acknowledge(final FlowFileRecord flowFile) { queue.acknowledge(flowFile); eventListener.triggerSourceEvent(); }
protected boolean isFull(final QueueSize queueSize) { final MaxQueueSize maxSize = getMaxQueueSize(); // Check if max size is set if (maxSize.getMaxBytes() <= 0 && maxSize.getMaxCount() <= 0) { return false; } if (maxSize.getMaxCount() > 0 && queueSize.getObjectCount() >= maxSize.getMaxCount()) { return true; } if (maxSize.getMaxBytes() > 0 && queueSize.getByteCount() >= maxSize.getMaxBytes()) { return true; } return false; }
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"); } } }
@Override public QueueSize getActiveQueueSize() { return new QueueSize(queueSize.getActiveCount(), queueSize.getActiveBytes()); }
@Override public QueueSize getSwapQueueSize() { return new QueueSize(queueSize.getSwappedCount(), queueSize.getSwappedBytes()); }
@Override public QueueSize getUnacknowledgedQueueSize() { return new QueueSize(queueSize.getUnacknowledgedCount(), queueSize.getUnacknowledgedCount()); }
private int getFlowFileCount() { final FlowFileQueueSize size = getFlowFileQueueSize(); return size.getActiveCount() + size.getSwappedCount() + size.getUnacknowledgedCount(); }
public SwappablePriorityQueueLocalPartition(final FlowFileSwapManager swapManager, final int swapThreshold, final EventReporter eventReporter, final FlowFileQueue flowFileQueue, final DropFlowFileAction dropAction) { this.priorityQueue = new SwappablePriorityQueue(swapManager, swapThreshold, eventReporter, flowFileQueue, dropAction, SWAP_PARTITION_NAME); this.flowFileQueue = flowFileQueue; this.description = "SwappablePriorityQueueLocalPartition[queueId=" + flowFileQueue.getIdentifier() + "]"; }
public StandardRebalancingPartition(final FlowFileSwapManager swapManager, final int swapThreshold, final EventReporter eventReporter, final LoadBalancedFlowFileQueue flowFileQueue, final DropFlowFileAction dropAction) { this.queue = new BlockingSwappablePriorityQueue(swapManager, swapThreshold, eventReporter, flowFileQueue, dropAction, SWAP_PARTITION_NAME); this.queueIdentifier = flowFileQueue.getIdentifier(); this.flowFileQueue = flowFileQueue; this.description = "RebalancingPartition[queueId=" + queueIdentifier + "]"; }
@Override public void put(final FlowFileRecord file) { queue.put(file); eventListener.triggerDestinationEvent(); }
@Override public void putAll(final Collection<FlowFileRecord> files) { queue.putAll(files); eventListener.triggerDestinationEvent(); }
@Override public boolean isEmpty() { return queue.getFlowFileQueueSize().isEmpty(); }
@Override public String getBackPressureDataSizeThreshold() { return getMaxQueueSize().getMaxSize(); }
@Override public QueueSize getActiveQueueSize() { return new QueueSize(queueSize.getActiveCount(), queueSize.getActiveBytes()); }
@Override public QueueSize getUnacknowledgedQueueSize() { return new QueueSize(queueSize.getUnacknowledgedCount(), queueSize.getUnacknowledgedCount()); }
public boolean isActiveQueueEmpty() { final FlowFileQueueSize queueSize = getFlowFileQueueSize(); return queueSize.getActiveCount() == 0 && queueSize.getSwappedCount() == 0; }
@Override public List<FlowFileRecord> poll(final FlowFileFilter filter, final Set<FlowFileRecord> expiredRecords) { return queue.poll(filter, expiredRecords, getFlowFileExpiration(TimeUnit.MILLISECONDS)); }
@Override public void acknowledge(final Collection<FlowFileRecord> flowFiles) { queue.acknowledge(flowFiles); eventListener.triggerSourceEvent(); }