java.lang.Object
org.apache.nifi.processors.standard.merge.RecordBin

public class RecordBin extends Object
  • Field Details

    • logger

      private final org.apache.nifi.logging.ComponentLog logger
    • session

      private final org.apache.nifi.processor.ProcessSession session
    • writerFactory

      private final RecordSetWriterFactory writerFactory
    • thresholds

      private final RecordBinThresholds thresholds
    • context

      private final org.apache.nifi.processor.ProcessContext context
    • flowFiles

      private final List<org.apache.nifi.flowfile.FlowFile> flowFiles
    • rwLock

      private final ReadWriteLock rwLock
    • readLock

      private final Lock readLock
    • writeLock

      private final Lock writeLock
    • creationNanos

      private final long creationNanos
    • merged

      private org.apache.nifi.flowfile.FlowFile merged
    • recordWriter

      private RecordSetWriter recordWriter
    • out

    • recordCount

      private int recordCount
    • fragmentCount

      private int fragmentCount
    • complete

      private volatile boolean complete
    • idGenerator

      private static final AtomicLong idGenerator
    • id

      private final long id
    • requiredRecordCount

      private volatile int requiredRecordCount
  • Constructor Details

    • RecordBin

      public RecordBin(org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session, org.apache.nifi.logging.ComponentLog logger, RecordBinThresholds thresholds)
  • Method Details

    • isOlderThan

      public boolean isOlderThan(RecordBin other)
    • isOlderThan

      public boolean isOlderThan(long period, TimeUnit unit)
    • isComplete

      public boolean isComplete()
    • offer

      public boolean offer(org.apache.nifi.flowfile.FlowFile flowFile, RecordReader recordReader, org.apache.nifi.processor.ProcessSession flowFileSession, boolean block) throws IOException
      Throws:
      IOException
    • isFull

      public boolean isFull()
    • getMinimumRecordCount

      private int getMinimumRecordCount()
    • isFullEnough

      public boolean isFullEnough()
    • rollback

      public void rollback()
    • getBinAge

      private long getBinAge()
    • fail

      private void fail()
    • validateFragmentCount

      private void validateFragmentCount(String countAttributeName)
      Ensure that at least one FlowFile has a fragment.count attribute and that they all have the same value, if they have a value.
    • complete

      public void complete(String completionReason) throws IOException
      Throws:
      IOException
    • toString

      public String toString()
      Overrides:
      toString in class Object