Jacky is right. It's a known issue and will be fixed in FLINK-21511.

Best,
Yangze Guo

On Tue, May 25, 2021 at 8:40 AM Jacky Yin 殷传旺 <jacky....@eoitek.com> wrote:
>
> If you are using es connector 6.*, actually there is a deadlock bug if the 
> backoff is enabled. The 'retry' and 'flush' share one thread pool which has 
> only one thread. Sometimes the one holding the thread tries to get the 
> semaphore which is hold by the one who tries to get the thread. Therefore 
> please upgrade to connector 7.*.
>
> ________________________________
> 发件人: Qihua Yang <yang...@gmail.com>
> 发送时间: 2021年5月24日 23:17
> 收件人: Yangze Guo <karma...@gmail.com>
> 抄送: ro...@apache.org <ro...@apache.org>; user <user@flink.apache.org>
> 主题: Re: ES sink never receive error code
>
> Got it! thanks for helping.
>
> On Thu, May 20, 2021 at 7:15 PM Yangze Guo <karma...@gmail.com> wrote:
>
> > So, ES BulkProcessor retried after bulk request was partially rejected. And 
> > eventually that request was sent successfully? That is why failure handler 
> > was not called?
>
> If the bulk request fails after the max number of retries
> (bulk.flush.backoff.retries), the failure handler will still be
> called.
>
>
> Best,
> Yangze Guo
>
> On Fri, May 21, 2021 at 5:53 AM Qihua Yang <yang...@gmail.com> wrote:
> >
> > Thank you for the reply!
> > Yes, we did config bulk.flush.backoff.enable.
> > So, ES BulkProcessor retried after bulk request was partially rejected. And 
> > eventually that request was sent successfully? That is why failure handler 
> > was not called?
> >
> > Thanks,
> > Qihua
> >
> > On Thu, May 20, 2021 at 2:22 PM Roman Khachatryan <ro...@apache.org> wrote:
> >>
> >> Hi,
> >>
> >> Have you tried to change bulk.flush.backoff.enable?
> >> According to the docs [1], the underlying ES BulkProcessor will retry
> >> (by default), so the provided failure handler might not be called.
> >>
> >> [1]
> >> https://ci.apache.org/projects/flink/flink-docs-stable/docs/connectors/datastream/elasticsearch/#configuring-the-internal-bulk-processor
> >>
> >> Regards,
> >> Roman
> >>
> >> On Thu, May 20, 2021 at 10:08 PM Qihua Yang <yang...@gmail.com> wrote:
> >> >
> >> > Hello,
> >> > We are using flink-connector-elasticsearch6_2.11 to ingest stream data 
> >> > to ES by using bulk requests. From ES metrics, we observed some bulk 
> >> > thread pool rejections. Contacted AWS team, their explanation is part of 
> >> > bulk request was rejected. Response body should include status for each 
> >> > item. For bulk thread pool rejection, the error code is 429.
> >> > Our flink app override FailureHandler to process error cases.
> >> > I checked Flink code, it has AfterBulk() method to handle item errors. 
> >> > FailureHandler() never received any 429 error.
> >> > Is that flink issue? Or we need to config something to make it work?
> >> > Thanks,
> >> >
> >> > Qihua

Reply via email to