THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
This KIP will add a getter method to the SinkTaskContext
class that will return a error reporter
object, and by default this method will return null. Sink connectors that wish to use a an error reporter can call this method within their tasks.
...
Code Block |
---|
public interface SinkTaskContext { ... /** * Get the reporter to which the sink task can report problematic or failed {@link SinkRecord} * passed to the {@link SinkTask#put(Collection)} method. When reporting a failed record, * the sink task will receive a {@link Future} that the task can optionally use to wait until * the failed record and exception have been written to Kafka via Connect's DLQ. Note that * the result of this method may be null if this connector has not been configured with a DLQ. * * <p>This method was added in Apache Kafka 2.6. Sink tasks that use this method but want to * maintain backward compatibility so they can also be deployed to older Connect runtimes * should guard the call to this method with a try-catch block, since calling this method will result in a * {@link NoSuchMethodException} or {@link NoClassDefFoundError} when the sink connector is deployed to * Connect runtimes older than Kafka 2.6. For example: * <pre> * ErrantRecordReporter reporter; * try { * reporter = context.failedRecordReporter(); * } catch (NoSuchMethodError | NoClassDefFoundError e) { * reporter = null; * } * </pre> * * @return the reporter function; null if no error reporter has been configured for the connector * @since 2.6 */ default ErrantRecordReporter failedRecordReportererrantRecordReporter() { return null; } } |
Interface
This KIP will add an ErrantRecordReporter
interface and will contain one method, report(SinkRecord record, Throwable error)
.
...