Replace Future.get with Future.get(int timeout) in tests

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Replace Future.get with Future.get(int timeout) in tests

Nikolay Izhikov-2
Hello, Igniters.

Currently, we have a lot of usages `Future.get` without a timeout in tests.
In case the test that uses `Future.get` is flaky it can lead to the whole suite hang.

Is there any reason to use the get method without a timeout?
Can we

a. Replace all invocation of get with the timeoutable companion.
b. Introduce code style check that will prohibit to use non-timeout method in tests.

What do you think?
Reply | Threaded
Open this post in threaded view
|

Re: Replace Future.get with Future.get(int timeout) in tests

Kirill Tkalenko
It seems to be a good topic, but it seems to be left to the reviewer's discretion.

08.12.2020, 18:36, "Nikolay Izhikov" <[hidden email]>:

> Hello, Igniters.
>
> Currently, we have a lot of usages `Future.get` without a timeout in tests.
> In case the test that uses `Future.get` is flaky it can lead to the whole suite hang.
>
> Is there any reason to use the get method without a timeout?
> Can we
>
> a. Replace all invocation of get with the timeoutable companion.
> b. Introduce code style check that will prohibit to use non-timeout method in tests.
>
> What do you think?
Reply | Threaded
Open this post in threaded view
|

Re: Replace Future.get with Future.get(int timeout) in tests

Ivan Daschinsky
Not only futures, there are a lot of latches, barriers etc. with same
problem.

вт, 8 дек. 2020 г. в 18:41, ткаленко кирилл <[hidden email]>:

> It seems to be a good topic, but it seems to be left to the reviewer's
> discretion.
>
> 08.12.2020, 18:36, "Nikolay Izhikov" <[hidden email]>:
> > Hello, Igniters.
> >
> > Currently, we have a lot of usages `Future.get` without a timeout in
> tests.
> > In case the test that uses `Future.get` is flaky it can lead to the
> whole suite hang.
> >
> > Is there any reason to use the get method without a timeout?
> > Can we
> >
> > a. Replace all invocation of get with the timeoutable companion.
> > b. Introduce code style check that will prohibit to use non-timeout
> method in tests.
> >
> > What do you think?
>


--
Sincerely yours, Ivan Daschinskiy