Class AsyncExecutionController<K>

  • Type Parameters:
    K - the type of the key
    All Implemented Interfaces:
    Closeable, AutoCloseable, StateRequestHandler

    public class AsyncExecutionController<K>
    extends Object
    implements StateRequestHandler, Closeable
    The Async Execution Controller (AEC) receives processing requests from operators, and put them into execution according to some strategies.

    It is responsible for:

  • Preserving the sequence of elements bearing the same key by delaying subsequent requests until the processing of preceding ones is finalized.
  • Tracking the in-flight data(records) and blocking the input if too much data in flight (back-pressure). It invokes MailboxExecutor.yield() to pause current operations, allowing for the execution of callbacks (mails in Mailbox).