Class DataImportChannelProcessor

All Implemented Interfaces:
DataImportChannelProcessorBase, DataImportProcessorBase

public class DataImportChannelProcessor extends DataImportStreamProcessor implements DataImportChannelProcessorBase
Process data from at most one concurrent tailer for a given local table location.
  • Method Details

    • getChannel

      @NotNull public com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel getChannel()
      Description copied from interface: DataImportChannelProcessorBase
      Get the DataImportChannel for this channel processor.
      Specified by:
      getChannel in interface DataImportChannelProcessorBase
      Returns:
      the DataImportChannel
    • initializeContext

      protected DataImportStreamProcessor.Context initializeContext(boolean reinitializing)
    • onInitialization

      protected boolean onInitialization()
    • close

      protected void close(@NotNull String reason)
    • handleApplicationMessage

      public void handleApplicationMessage(@NotNull com.illumon.iris.db.tables.dataimport.logtailer.DataImportChannel channel, @NotNull DataImportChannelItem item)
    • checkLiveness

      protected Boolean checkLiveness() throws InterruptedException, TimeoutException
      Test "liveness" for this stream processor. Not a perfect implementation, correctness-wise, but suitable for our purpose. If the stream processor is not alive, try to wait for it to be done.
      Specified by:
      checkLiveness in class DataImportStreamProcessor
      Returns:
      True if alive, false if not, null if uncertain
      Throws:
      InterruptedException - if the thread is interrupted while waiting
      TimeoutException - if the stream processor doesn't go to DONE state within the configured time limit
    • getDescription

      @NotNull protected String getDescription()