A queue which serves as handover point between producer threads (e.g. MySQL's binlog reader thread)
and the Kafka Connect polling loop.
The queue is configurable in different aspects, e.g. its maximum size and the time to sleep (block) between two subsequent poll calls. See the Builder for the different options. The queue applies back-pressure semantics, i.e. if it holds the maximum number of elements, subsequent calls to #enqueue(Object) will block until elements have been removed from the queue.
If an exception occurs on the producer side, the producer should make that exception known by calling #producerFailure before stopping its operation. Upon the next call to #poll(), that exception will be raised, causing Kafka Connect to stop the connector and mark it as FAILED. @author Gunnar Morling @param the type of events in this queue. Usually SourceRecord is used, but in cases where additional metadata must be passed from producers to the consumer, a custom type wrapping source records may be used.