Hi Ahmed, Thanks for putting this together! Should we still be marking getFatalExceptionCons() as @Deprecated in this FLIP, if we are not providing a replacement?
Regards, Hong On Mon, May 13, 2024 at 7:58 PM Ahmed Hamdy <hamdy10...@gmail.com> wrote: > Hi David, > yes there error classification was initially left to sink implementers to > handle while we provided utilities to classify[1] and bubble up[2] fatal > exceptions to avoid retrying them. > Additionally some sink implementations provide an option to short circuit > the failures by exposing a `failOnError` flag as in KinesisStreamsSink[3], > however this FLIP scope doesn't include any changes for retry mechanisms. > > 1- > > https://github.com/apache/flink/blob/015867803ff0c128b1c67064c41f37ca0731ed86/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/sink/throwable/FatalExceptionClassifier.java#L32 > 2- > > https://github.com/apache/flink/blob/015867803ff0c128b1c67064c41f37ca0731ed86/flink-connectors/flink-connector-base/src/main/java/org/apache/flink/connector/base/sink/writer/AsyncSinkWriter.java#L533 > 3- > > https://github.com/apache/flink-connector-aws/blob/c6e0abb65a0e51b40dd218b890a111886fbf797f/flink-connector-aws/flink-connector-aws-kinesis-streams/src/main/java/org/apache/flink/connector/kinesis/sink/KinesisStreamsSinkWriter.java#L106 > > Best Regards > Ahmed Hamdy > > > On Mon, 13 May 2024 at 16:20, David Radley <david_rad...@uk.ibm.com> > wrote: > > > Hi, > > I wonder if the way that the async request fails could be a retriable or > > non-retriable error, so it would retry only for retriable (transient) > > errors (like IOExceptions) . I see some talk on the internet around > > retriable SQL errors. > > If this was the case then we may need configuration to limit the number > > of retries of retriable errors. > > Kind regards, David > > > > > > From: Muhammet Orazov <mor+fl...@morazow.com.INVALID> > > Date: Monday, 13 May 2024 at 10:30 > > To: dev@flink.apache.org <dev@flink.apache.org> > > Subject: [EXTERNAL] Re: [DISCUSS] FLIP-451: Refactor Async sink API > > Great, thanks for clarifying! > > > > Best, > > Muhammet > > > > > > On 2024-05-06 13:40, Ahmed Hamdy wrote: > > > Hi Muhammet, > > > Thanks for the feedback. > > > > > >> Could you please add more here why it is harder? Would the > > >> `completeExceptionally` > > >> method be related to it? Maybe you can add usage example for it also. > > >> > > > > > > this is mainly due to the current implementation of fatal exception > > > failures which depends on base `getFatalExceptionConsumer` method that > > > is > > > decoupled from the actual called method `submitRequestEntries`, Since > > > this > > > is now not the primary concern of the FLIP, I have removed it from the > > > motivation so that the scope is defined around introducing the timeout > > > configuration. > > > > > >> Should we add a list of possible connectors that this FLIP would > > >> improve? > > > > > > Good call, I have added under migration plan. > > > > > > Best Regards > > > Ahmed Hamdy > > > > > > > > > On Mon, 6 May 2024 at 08:49, Muhammet Orazov <mor+fl...@morazow.com> > > > wrote: > > > > > >> Hey Ahmed, > > >> > > >> Thanks for the FLIP! +1 (non-binding) > > >> > > >> > Additionally the current interface for passing fatal exceptions and > > >> > retrying records relies on java consumers which makes it harder to > > >> > understand. > > >> > > >> Could you please add more here why it is harder? Would the > > >> `completeExceptionally` > > >> method be related to it? Maybe you can add usage example for it also. > > >> > > >> > we should proceed by adding support in all supporting connector > repos. > > >> > > >> Should we add list of possible connectors that this FLIP would > > >> improve? > > >> > > >> Best, > > >> Muhammet > > >> > > >> > > >> On 2024-04-29 14:08, Ahmed Hamdy wrote: > > >> > Hi all, > > >> > I would like to start a discussion on FLIP-451[1] > > >> > The proposal comes on encountering a couple of issues while working > > >> > with > > >> > implementers for Async Sink. > > >> > The FLIP mainly proposes a new API similar to AsyncFunction and > > >> > ResultFuture as well as introducing timeout handling for AsyncSink > > >> > requests. > > >> > The FLIP targets 1.20 with backward compatible changes and we should > > >> > proceed by adding support in all supporting connector repos. > > >> > > > >> > 1- > > >> > > > >> > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-451%3A+Refactor+Async+Sink+API > > >> > Best Regards > > >> > Ahmed Hamdy > > >> > > > > Unless otherwise stated above: > > > > IBM United Kingdom Limited > > Registered in England and Wales with number 741598 > > Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU > > >