Kevin Tseng created FLINK-33479:
-----------------------------------

             Summary: Add Rerouting support to KafkaSink
                 Key: FLINK-33479
                 URL: https://issues.apache.org/jira/browse/FLINK-33479
             Project: Flink
          Issue Type: Improvement
          Components: Connectors / Kafka
    Affects Versions: 1.18.0
            Reporter: Kevin Tseng


KafkaSink currently operates in a fail / success model. If it fails it will 
throw FlinkRuntimeException, any record that may cause failure has to be 
filtered by the operators preceeding KafkaSink. If there's unexpected failure 
that was caught, this will create continuous failure until a hotfix has been 
provided and issue addressed.

Relying on checkpoint to restore the process also create duplicated records 
produced within the interval, unless EXACTLY_ONCE is utilized.

 

Since Flink is meant to be a real-time streaming process, any downtime can 
create detrimental effect to the downstream consumer of the data.

I'm proposing to add an error handling injection/intercept to KafkaSink (user 
can define an error handler or route the error causing record to another 
downstream operator) to keep the process running. Only throwing 
RuntimeException when the interceptor was not provided.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to