Interface RootExec

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
BaseRootExec, BroadcastSenderRootExec, PartitionSenderRootExec, ScreenCreator.ScreenRoot, SingleSenderCreator.SingleSenderRootExec

public interface RootExec extends AutoCloseable
Node which is the last processing node in a query plan. FragmentTerminals include Exchange output nodes and storage nodes. They are there driving force behind the completion of a query.

Assumes that all implementations of RootExec assume that all their methods are called by the same thread.
  • Method Details

    • next

      boolean next()
      Do the next batch of work.
      Returns:
      Whether or not additional batches of work are necessary. False means that this fragment is done.
    • receivingFragmentFinished

      void receivingFragmentFinished(ExecProtos.FragmentHandle handle)
      Inform sender that receiving fragment is finished and doesn't need any more data. This can be called multiple times (once for each downstream receiver). If all receivers are finished then a subsequent call to next() will return false.
      Parameters:
      handle - The handle pointing to the downstream receiver that does not need anymore data.
    • dumpBatches

      void dumpBatches(Throwable t)
      Dump failed batches' state preceded by its parent's state to logs. Invoked when there is a failure during fragment execution.
      Parameters:
      t - the exception thrown by an operator and which therefore records, in its stack trace, which operators were active on the stack