private void doPoll(final List<FlowFileRecord> records, int maxResults, final Set<FlowFileRecord> expiredRecords, final long expirationMillis) { migrateSwapToActive(); final long bytesDrained = drainQueue(activeQueue, records, maxResults, expiredRecords, expirationMillis); long expiredBytes = 0L; for (final FlowFileRecord record : expiredRecords) { expiredBytes += record.getSize(); } incrementActiveQueueSize(-(expiredRecords.size() + records.size()), -bytesDrained); incrementUnacknowledgedQueueSize(records.size(), bytesDrained - expiredBytes); }
private FlowFileRecord doPoll(final Set<FlowFileRecord> expiredRecords, final long expirationMillis) { FlowFileRecord flowFile; boolean isExpired; migrateSwapToActive(); long expiredBytes = 0L; do { flowFile = this.activeQueue.poll(); isExpired = isExpired(flowFile, expirationMillis); if (isExpired) { expiredRecords.add(flowFile); expiredBytes += flowFile.getSize(); flowFile = null; if (expiredRecords.size() >= MAX_EXPIRED_RECORDS_PER_ITERATION) { break; } } else if (flowFile != null && flowFile.isPenalized()) { this.activeQueue.add(flowFile); flowFile = null; break; } if (flowFile != null) { incrementActiveQueueSize(-1, -flowFile.getSize()); } } while (isExpired); if (!expiredRecords.isEmpty()) { incrementActiveQueueSize(-expiredRecords.size(), -expiredBytes); } return flowFile; }
public void put(final FlowFileRecord flowFile) { writeLock.lock(); try { if (swapMode || activeQueue.size() >= swapThreshold) { swapQueue.add(flowFile); incrementSwapQueueSize(1, flowFile.getSize(), 0); swapMode = true; writeSwapFilesIfNecessary(); } else { incrementActiveQueueSize(1, flowFile.getSize()); activeQueue.add(flowFile); } logger.debug("{} put to {}", flowFile, this); } finally { writeLock.unlock("put(FlowFileRecord)"); } }
public void putAll(final Collection<FlowFileRecord> flowFiles) { final int numFiles = flowFiles.size(); long bytes = 0L; for (final FlowFile flowFile : flowFiles) { bytes += flowFile.getSize(); } writeLock.lock(); try { if (swapMode || activeQueue.size() >= swapThreshold - numFiles) { swapQueue.addAll(flowFiles); incrementSwapQueueSize(numFiles, bytes, 0); swapMode = true; writeSwapFilesIfNecessary(); } else { incrementActiveQueueSize(numFiles, bytes); activeQueue.addAll(flowFiles); } logger.debug("{} put to {}", flowFiles, this); } finally { writeLock.unlock("putAll"); } }
incrementActiveQueueSize(recordsMigrated, bytesMigrated); incrementSwapQueueSize(-recordsMigrated, -bytesMigrated, 0);
incrementActiveQueueSize(swapContents.getFlowFiles().size(), contentSizeSwappedIn); logger.debug("Swapped in partial contents containing {} FlowFiles ({} bytes) from {}", swapContents.getFlowFiles().size(), contentSizeSwappedIn, swapLocation); } else { incrementActiveQueueSize(flowFileCount, contentSize); logger.debug("Successfully swapped in Swap File {}", swapLocation);
incrementActiveQueueSize(-flowFilesPulled, -bytesPulled);
incrementActiveQueueSize(-droppedSize.getObjectCount(), -droppedSize.getByteCount()); dropRequest.setCurrentSize(size()); dropRequest.setDroppedSize(dropRequest.getDroppedSize().add(droppedSize));