Thanks everyone for the input again. I'll then conclude this survey thread
and start a discuss thread to set the default restart delay to 1s.

@Arvid, I agree that a better documentation how to tune Flink with sane
settings for certain scenarios is super helpful. However, as you've said it
is somewhat hijacking the discussion and I would exclude it from my
proposed changes. The best thing to do would be to start a separate
discussion/effort for it.

Concerning the restart strategy configuration options, they are currently
only documented here [1]. I'm about to change it with this PR [2].

[1]
https://ci.apache.org/projects/flink/flink-docs-master/dev/task_failure_recovery.html
[2] https://github.com/apache/flink/pull/9562

Cheers,
Till

On Tue, Sep 3, 2019 at 8:21 AM Arvid Heise <ar...@data-artisans.com> wrote:

> Hi all,
>
> just wanted to share my experience with configurations with you. For
> non-expert users configurations of Flink can be very daunting. The list of
> common properties is already helping a lot [1], but it's not clear how they
> depend on each other and settings common for specific use cases are not
> listed.
>
> If we can give somewhat clear recommendations for the start for the most
> common use cases (batch small/large cluster, streaming high throughput/low
> latency), I think users would be able start much more quickly with a
> somewhat well-configured system and fine-tune the settings later. For
> example, Kafka Streams has a section on how to set the parameters for
> maximum resilience [2].
>
> I'd propose to leave the current configuration page as a reference page,
> but also have a recommended configuration settings page that's directly
> linked in the first section, such that new users are not overwhelmed.
>
> Sorry if this response is hijacking the discussion.
> Btw, is restart-strategy configuration missing in the main configuration
> page? Is this a conscious decision?
>
> [1]
> https://ci.apache.org/projects/flink/flink-docs-stable/ops/config.html#common-options
> [2]
> https://docs.confluent.io/current/streams/developer-guide/config-streams.html#recommended-configuration-parameters-for-resiliency
>
> On Tue, Sep 3, 2019 at 5:10 AM Zhu Zhu <reed...@gmail.com> wrote:
>
>> 1s looks good to me.
>> And I think the conclusion that when a user should override the delay is
>> worth to be documented.
>>
>> Thanks,
>> Zhu Zhu
>>
>> Steven Wu <stevenz...@gmail.com> 于2019年9月3日周二 上午4:42写道:
>>
>>> 1s sounds a good tradeoff to me.
>>>
>>> On Mon, Sep 2, 2019 at 1:30 PM Till Rohrmann <trohrm...@apache.org>
>>> wrote:
>>>
>>>> Thanks a lot for all your feedback. I see there is a slight tendency
>>>> towards having a non zero default delay so far.
>>>>
>>>> However, Yu has brought up some valid points. Maybe I can shed some
>>>> light on a).
>>>>
>>>> Before FLINK-9158 we set the default delay to 10s because Flink did not
>>>> support queued scheduling which meant that if one slot was missing/still
>>>> being occupied, then Flink would fail right away with
>>>> a NoResourceAvailableException. In order to prevent this we added the
>>>> delay. This also covered the case when the job was failing because of an
>>>> overloaded external system.
>>>>
>>>> When we finished FLIP-6, we thought that we could improve the user
>>>> experience by decreasing the default delay to 0s because all Flink related
>>>> problems (slot still occupied, slot missing because of reconnecting TM)
>>>> could be handled by the default slot request time out which allowed the
>>>> slots to become ready after the scheduling was kicked off. However, we did
>>>> not properly take the case of overloaded external systems into account.
>>>>
>>>> For b) I agree that any default value should be properly documented.
>>>> This was clearly an oversight when FLINK-9158 has been merged. Moreover, I
>>>> believe that there won't be the solve it all default value. There are
>>>> always cases where one needs to adapt it to ones needs. But this is ok. The
>>>> goal should be to find the default value which works for most cases.
>>>>
>>>> So maybe the middle ground between 10s and 0s could be a solution.
>>>> Setting the default restart delay to 1s should prevent restart storms
>>>> caused by overloaded external systems and still be fast enough to not slow
>>>> down recoveries noticeably in most cases. If one needs a super fast
>>>> recovery, then one should set the delay value to 0s. If one requires a
>>>> longer delay because of a particular infrastructure, then one needs to
>>>> change the value too. What do you think?
>>>>
>>>> Cheers,
>>>> Till
>>>>
>>>> On Sun, Sep 1, 2019 at 11:56 PM Yu Li <car...@gmail.com> wrote:
>>>>
>>>>> -1 on increasing the default delay to none zero, with below reasons:
>>>>>
>>>>> a) I could see some concerns about setting the delay to zero in the
>>>>> very original JIRA (FLINK-2993
>>>>> <https://issues.apache.org/jira/browse/FLINK-2993>) but later on in
>>>>> FLINK-9158 <https://issues.apache.org/jira/browse/FLINK-9158> we
>>>>> still decided to make the change, so I'm wondering whether the decision
>>>>> also came from any customer requirement? If so, how could we judge whether
>>>>> one requirement override the other?
>>>>>
>>>>> b) There could be valid reasons for both default values depending on
>>>>> different use cases, as well as relative work around (like based on latest
>>>>> policy, setting the config manually to 10s could resolve the problem
>>>>> mentioned), and from former replies to this thread we could see users have
>>>>> already taken actions. Changing it back to non-zero again won't affect 
>>>>> such
>>>>> users but might cause surprises to those depending on 0 as default.
>>>>>
>>>>> Last but not least, no matter what decision we make this time, I'd
>>>>> suggest to make it final and document in our release note explicitly.
>>>>> Checking the 1.5.0 release note [1] [2] it seems we didn't mention about
>>>>> the change on default restart delay and we'd better learn from it this
>>>>> time. Thanks.
>>>>>
>>>>> [1]
>>>>> https://flink.apache.org/news/2018/05/25/release-1.5.0.html#release-notes
>>>>> [2]
>>>>> https://ci.apache.org/projects/flink/flink-docs-release-1.5/release-notes/flink-1.5.html
>>>>>
>>>>> Best Regards,
>>>>> Yu
>>>>>
>>>>>
>>>>> On Sun, 1 Sep 2019 at 04:33, Steven Wu <stevenz...@gmail.com> wrote:
>>>>>
>>>>>> +1 on what Zhu Zhu said.
>>>>>>
>>>>>> We also override the default to 10 s.
>>>>>>
>>>>>> On Fri, Aug 30, 2019 at 8:58 PM Zhu Zhu <reed...@gmail.com> wrote:
>>>>>>
>>>>>>> In our production, we usually override the restart delay to be 10 s.
>>>>>>> We once encountered cases that external services are overwhelmed by
>>>>>>> reconnections from frequent restarted tasks.
>>>>>>> As a safer though not optimized option, a default delay larger than
>>>>>>> 0 s is better in my opinion.
>>>>>>>
>>>>>>>
>>>>>>> 未来阳光 <2217232...@qq.com> 于2019年8月30日周五 下午10:23写道:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>>
>>>>>>>> I thinks it's better to increase the default value. +1
>>>>>>>>
>>>>>>>>
>>>>>>>> Best.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> ------------------ 原始邮件 ------------------
>>>>>>>> 发件人: "Till Rohrmann"<trohrm...@apache.org>;
>>>>>>>> 发送时间: 2019年8月30日(星期五) 晚上10:07
>>>>>>>> 收件人: "dev"<d...@flink.apache.org>; "user"<user@flink.apache.org>;
>>>>>>>> 主题: [SURVEY] Is the default restart delay of 0s causing problems?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi everyone,
>>>>>>>>
>>>>>>>> I wanted to reach out to you and ask whether decreasing the default
>>>>>>>> delay
>>>>>>>> to `0 s` for the fixed delay restart strategy [1] is causing
>>>>>>>> trouble. A
>>>>>>>> user reported that he would like to increase the default value
>>>>>>>> because it
>>>>>>>> can cause restart storms in case of systematic faults [2].
>>>>>>>>
>>>>>>>> The downside of increasing the default delay would be a slightly
>>>>>>>> increased
>>>>>>>> restart time if this config option is not explicitly set.
>>>>>>>>
>>>>>>>> [1] https://issues.apache.org/jira/browse/FLINK-9158
>>>>>>>> [2] https://issues.apache.org/jira/browse/FLINK-11218
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> Till
>>>>>>>
>>>>>>>
>
> --
>
> Arvid Heise | Senior Software Engineer
>
> <https://www.ververica.com/>
>
> Follow us @VervericaData
>
> --
>
> Join Flink Forward <https://flink-forward.org/> - The Apache Flink
> Conference
>
> Stream Processing | Event Driven | Real Time
>
> --
>
> Ververica GmbH | Invalidenstrasse 115, 10115 Berlin, Germany
>
> --
> Ververica GmbH
> Registered at Amtsgericht Charlottenburg: HRB 158244 B
> Managing Directors: Dr. Kostas Tzoumas, Dr. Stephan Ewen
>

Reply via email to