THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Code Block |
---|
/** * Component that the sink task can use as it {@link SinkTask#put(/**Collection<SinkRecord>)} * Reporter of problematic records and the corresponding problems. * * @since 2.9 */ public interface ErrantRecordReporter { /** * Report a problematic record and the corresponding error to be written to the sink * connector's dead letter queue (DLQ). * * <p>This call is asynchronous and returns a {@link java.util.concurrent.Future Future} for the * {@link RecordMetadata} that will be assigned to the record in the DLQ topic. Invoking * {@link java.util.concurrent.Future#get() get()} on this future will block until the * record has been written and then return the metadata for the record * or throw any exception that occurred while sending the record. * If you want to simulate a simple blocking call you can call the <code>get()</code> method * immediately. * * @param record the problematic record; may not be null * @param error the error capturing the problem with the record; may not be null * @return a future that can be used to block until the record and error are written * to the DLQ * @since 2.9 */ default Future<RecordMetadata> report(SinkRecord record, Throwable error) { return report(record, error, null); } /** * Report a problematic record and the corresponding error to be written to the sink * connector's dead letter queue (DLQ). * * <p>This call is asynchronous and returns a {@link java.util.concurrent.Future Future} for the * {@link RecordMetadata} that will be assigned to the record in the DLQ topic. Invoking * {@link java.util.concurrent.Future#get() get()} on this future will block until the * record has been written and then return the metadata for the record * or throw any exception that occurred while sending the record. * If you want to simulate a simple blocking call you can call the <code>get()</code> method * immediately. * * <p>Fully non-blocking usage can make use of the {@link Callback} parameter to provide a * callback that will be invoked when the request is complete. Callbacks for records being * sent to the same partition are guaranteed to execute in order. * * @param record the problematic record; may not be null * @param error the error capturing the problem with the record; may not be null * @param callback A user-supplied callback to execute when the record has been acknowledged * by the server; may be null for no callback * @return a future that can be used to block until the record and error are written * to the DLQ * @since 2.9 */ Future<RecordMetadata> report(SinkRecord record, Throwable error, Callback callback); } |
...