Thanks Ahmed for kicking off this discussion, sorry for jumping the discussion 
late.

(1)I’m confused about the discuss thread name ‘FLIP-451: Refactor Async sink 
API’  and FLIP title/vote thread name '
FLIP-451: Introduce timeout configuration to AsyncSink API 
<https://cwiki.apache.org/confluence/display/FLINK/FLIP-451%3A+Introduce+timeout+configuration+to+AsyncSink+API>’,
 they are different for me. Could you help explain the change history?

(2) The FLIP-451 aims to introduce a timeout configuration, but I didn’t find 
the configuration in FLIP even I lookup some historical versions of the FLIP. 
Did I miss some key informations?

(3) About the code change part, there’re some un-complete pieces in 
AsyncSinkWriter for example `submitRequestEntries(List<RequestEntryT> 
requestEntries,);` is incorrect and `sendTime` variable I didn’t 
find the place we define it and where we use it.

Sorry for jumping the discussion thread during vote phase again.

Best,
Leonard


> 2024年5月21日 下午3:49,Ahmed Hamdy <hamdy10...@gmail.com> 写道:
> 
> Hi Hong,
> Thanks for pointing that out, no we are not
> deprecating getFatalExceptionCons(). I have updated the FLIP
> Best Regards
> Ahmed Hamdy
> 
> 
> On Mon, 20 May 2024 at 15:40, Hong Liang <h...@apache.org> wrote:
> 
>> 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
>>>> 
>>> 
>> 

Reply via email to