Hi Ivan,

>From what I see we do not restrict contributors to use lambdas and streams.
Document states that plain collections and anonymous classes are
*preferred*. This is not obligatory requirement, and it seems reasonable to
me, because when developing complex projects at times it is better to have
more expressive code, than less non-obvious code which makes dozens
operations in a single string.

Or may be there are any other statements in the checklist which prevents
users from using Java 8 features?

Vladimir.

On Tue, Aug 14, 2018 at 7:16 PM ipavlukhin <vololo...@gmail.com> wrote:

> Hi Igniters,
>
> I would like to refresh review checklist a little bit. Currently it [1]
> contains section against lambda Lambda expressions and Stream API. As
> far as I know it is not true anymore. Currently both features have
> theirs usage in core module. What is a state of affairs for a subject?
> Are there some well-known cases where e.g. lambdas are not applicable?
> Should we document it?
>
> I personally think that we could delete entire Java 8 section from
> checklist (and Java 5 as well). I understand that every tool should be
> used judiciously but I doubt that all cases can be covered in short
> checklist.
>
> [1]
>
> https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines#CodingGuidelines-Java8
>
>
> On 2018/07/09 20:53:42, Dmitry Pavlov <d...@gmail.com> wrote:
>  > I also tend to agree about updating checklist>
>  >
>  > About suite timeouts, I suspect there is one problem introduced
> recently>
>  > within 3 days, which caused this mass timeouts.>
>  >
>  > I hope Igniters will find out reason soon. In relation to compute we
> have>
>  > only 2 possible cause:>
>  > Ivan Daschinskiy (idaschinskiy) 2 files IGNITE-8869 Fixed>
>  > PartitionsExchangeOnDiscoveryHistoryOverflowTest hanging>
>  > Signed-off-by: Andrey Gura <ag...@apache.org> ···>
>  >
>  > Dmitriy Govorukhin (dgovorukhin) 12 files IGNITE-8827 Disable WAL
> during>
>  > apply updates on recovery>
>  >
>  > I guess if we fix this reason we will fix 10 suites more>
>  > References:>
>  >
>
> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_ComputeGrid&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E>
>
>
>  >
>  >
>  > пн, 9 июл. 2018 г. в 22:29, Anton Vinogradov <av...@apache.org>:>
>  >
>  > > Sounds reasonable.>
>  > > I've satrted Data Structures suite hang investigation [1].>
>  > >>
>  > > Igniters, especially commiters,>
>  > > I know, you're busy, but it will be a great help to the project in
> case you>
>  > > fix at least one hang per person.>
>  > >>
>  > > [1] https://issues.apache.org/jira/browse/IGNITE-8783>
>  > >>
>  > > пн, 9 июл. 2018 г. в 19:24, Maxim Muzafarov <ma...@gmail.com>:>
>  > >>
>  > > > Hi Igniters,>
>  > > >>
>  > > > Let's back to discussion of review checklist. Can we add more>
>  > > clarification>
>  > > > about running all suites on TeamCity?>
>  > > >>
>  > > > My suggestion is: “All test suites MUST be run on TeamCity [3]
> before>
>  > > merge>
>  > > > to master, there MUST NOT be any test failures * and any
> tests\suites>
>  > > with>
>  > > > “execution timeouts” *. Not important test failures should be
> muted and>
>  > > > handled according to [4] process.”>
>  > > >>
>  > > > As you can see we have stable “Execution timeouts” for>
>  > > > “Activate\Deactiveate Cluster” test suite since 16-th June. How
> can we be>
>  > > > sure in this case that new changes would not break up old
> functionality?>
>  > > >>
>  > > > From my point, all new changes MUST NOT be merged to master util
> we will>
>  > > > fix all execution timeouts for suites. Even if current changes
> are not>
>  > > > related to these timeouts.>
>  > > >>
>  > > > [1]>
>  > > >>
>  > > >>
>  > >
>
> https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_ActivateDeactivateCluster&tab=buildTypeHistoryList&branch_IgniteTests24Java8=%3Cdefault%3E>
>
>
>  > > >>
>  > > >>
>  > > > пн, 4 июн. 2018 г. в 15:56, Dmitry Pavlov <dp...@gmail.com>:>
>  > > >>
>  > > > > Requirement of green TC for each PR is community rule, not my.>
>  > > > >>
>  > > > > I'll answer ro another question, what should we do with test
> failure:>
>  > > > > "Ideally - fix, but at least mute test and create ticket. ">
>  > > > >>
>  > > > > May be it's time to formalize Make TC Green Again process in
> details,>
>  > > so>
>  > > > > let me share my draft.>
>  > > > >>
>  > > > > If Igniter see test failure (in master, in release bracnh,
> etc), he>
>  > > > should>
>  > > > > consider following steps:>
>  > > > >>
>  > > > > - If your changes can led to this failure(s), please create issue>
>  > > with>
>  > > > > label MakeTeamCityGreenAgain and assign it to you.>
>  > > > > - If you have fix, please set ticket to PA state and write to dev>
>  > > > > list fix is ready.>
>  > > > > - For case fix will require some time please mute test and set>
>  > > > label>
>  > > > > Muted_Test to issue>
>  > > > > - If you know which change caused failure please contact change>
>  > > author>
>  > > > > directly.>
>  > > > > - If you don't know which change caused failure please send
> message>
>  > > to>
>  > > > > dev list to find out>
>  > > > >>
>  > > > >>
>  > > > >>
>  > > > >>
>  > > > > пн, 4 июн. 2018 г. в 15:27, Vladimir Ozerov <vo...@gridgain.com
> >:>
>  > > > >>
>  > > > > > Dmitry,>
>  > > > > >>
>  > > > > > My question was how to proceed with your rules. Could you
> please>
>  > > > clarify?>
>  > > > > >>
>  > > > > > On Mon, Jun 4, 2018 at 2:52 PM, Dmitry Pavlov
> <dpavlov....@gmail.com>
>  > > >>
>  > > > > > wrote:>
>  > > > > >>
>  > > > > > > Vladimir, I mean strict definition, how much previous runs
> should>
>  > > > > > > contributor consider? What if test was failed by
> infrastructure>
>  > > > reason>
>  > > > > in>
>  > > > > > > master previously, how can contributor be sure test failure
> !=>
>  > > broken>
>  > > > > > code>
>  > > > > > > in PR? In this case it should be double checked by>
>  > > > > contributor/reviewer.>
>  > > > > > > I'm sure nobody can give strict definition of 'new' failure.>
>  > > > > > >>
>  > > > > > > Flaky tests detected by TC may be taken into account in
> check-list,>
>  > > > > > because>
>  > > > > > > contributor can check if failure is flaky. But again, not
> all tests>
>  > > > > with>
>  > > > > > > floating failure is detected by TC as flaky.>
>  > > > > > >>
>  > > > > > > I don't understand what problem will be solved if we soften
> current>
>  > > > > > > requirement with 'new' test? Everybody will continue to
> complain>
>  > > they>
>  > > > > > PR's>
>  > > > > > > test failures is not `new`. So let's keep it as is.>
>  > > > > > >>
>  > > > > > > пн, 4 июн. 2018 г. в 14:46, Vladimir Ozerov
> <voze...@gridgain.com>
>  > > >:>
>  > > > > > >>
>  > > > > > > > Dmitry,>
>  > > > > > > >>
>  > > > > > > > New failure is a failure hasn't happened on previous
> runs. If it>
>  > > do>
>  > > > > > > > happened, then contributor should see if it is a flaky or
> not>
>  > > > through>
>  > > > > > > local>
>  > > > > > > > and TC runs. The same works for timeout suites.>
>  > > > > > > > Current statement in "Review Checklist" that there are
> should be>
>  > > no>
>  > > > > > > failed>
>  > > > > > > > tests is not applicable to real word. Almost every patch is>
>  > > pushed>
>  > > > to>
>  > > > > > > > repository with test failures.>
>  > > > > > > >>
>  > > > > > > > On Mon, Jun 4, 2018 at 2:22 PM, Dmitry Pavlov <>
>  > > > dpavlov....@gmail.com>
>  > > > > >>
>  > > > > > > > wrote:>
>  > > > > > > >>
>  > > > > > > > > Hi Vladimir, could you provide definition what is new
> failure?>
>  > > > how>
>  > > > > do>
>  > > > > > > you>
>  > > > > > > > > know it is new or not?>
>  > > > > > > > >>
>  > > > > > > > > And please forget for a moment you're Ignite expert &
> veteran,>
>  > > > > > imagine>
>  > > > > > > > you>
>  > > > > > > > > are newcomer.>
>  > > > > > > > >>
>  > > > > > > > > I can't find any criteria that can be used by newbie to
> come to>
>  > > > the>
>  > > > > > > > > conclusion that test is new. Patch is accepted by
> reviewer, so>
>  > > it>
>  > > > > > > should>
>  > > > > > > > be>
>  > > > > > > > > up to him to correctly register failures in tickets with>
>  > > > > > > > > MakeTeamCityGreenAgain label and mute unimportant tests.>
>  > > > > > > > >>
>  > > > > > > > > пн, 4 июн. 2018 г. в 11:32, Vladimir Ozerov <>
>  > > > voze...@gridgain.com>
>  > > > > >:>
>  > > > > > > > >>
>  > > > > > > > > > Dmitry,>
>  > > > > > > > > >>
>  > > > > > > > > > I still do not see how new patches could be accepted
> with>
>  > > this>
>  > > > > > > > > requirement>
>  > > > > > > > > > in place. Consider the following case: I created a
> patch and>
>  > > > run>
>  > > > > it>
>  > > > > > > on>
>  > > > > > > > > TC,>
>  > > > > > > > > > observed N failures, verified through TC history that
> none if>
>  > > > > them>
>  > > > > > > are>
>  > > > > > > > > new.>
>  > > > > > > > > > Am I eligible to push the commit?>
>  > > > > > > > > >>
>  > > > > > > > > > On Thu, May 24, 2018 at 3:11 PM, Dmitry Pavlov <>
>  > > > > > > dpavlov....@gmail.com>>
>  > > > > > > > > > wrote:>
>  > > > > > > > > >>
>  > > > > > > > > > > Petr, good point. It is more intuitive, we should
> mark test>
>  > > > we>
>  > > > > > can>
>  > > > > > > > > ignore>
>  > > > > > > > > > > by mute.>
>  > > > > > > > > > >>
>  > > > > > > > > > > So Vladimir, you or other Ignite veteran can mute
> test, if>
>  > > > can>
>  > > > > > say>
>  > > > > > > it>
>  > > > > > > > > is>
>  > > > > > > > > > > not important.>
>  > > > > > > > > > >>
>  > > > > > > > > > > чт, 24 мая 2018 г. в 15:07, Petr Ivanov <>
>  > > mr.wei...@gmail.com>
>  > > > >:>
>  > > > > > > > > > >>
>  > > > > > > > > > > > Why cannot we mute (and file corresponding
> tickets) all>
>  > > > test>
>  > > > > > > > failures>
>  > > > > > > > > > > > (including flaky) to some date and start
> initiative Green>
>  > > > TC?>
>  > > > > > > > > > > >>
>  > > > > > > > > > > >>
>  > > > > > > > > > > >>
>  > > > > > > > > > > > > On 24 May 2018, at 15:04, Vladimir Ozerov <>
>  > > > > > > voze...@gridgain.com>>
>  > > > > > > > > > > wrote:>
>  > > > > > > > > > > > >>
>  > > > > > > > > > > > > Dmitry,>
>  > > > > > > > > > > > >>
>  > > > > > > > > > > > > We cannot add this requirements, because we do
> have>
>  > > > > failures>
>  > > > > > on>
>  > > > > > > > TC.>
>  > > > > > > > > > > This>
>  > > > > > > > > > > > > requirement implies that all development would
> stop>
>  > > until>
>  > > > > TC>
>  > > > > > is>
>  > > > > > > > > > green.>
>  > > > > > > > > > > > > We never had old requirement work, neither we
> need to>
>  > > > > enforce>
>  > > > > > > it>
>  > > > > > > > > now.>
>  > > > > > > > > > > > >>
>  > > > > > > > > > > > > On Thu, May 24, 2018 at 2:59 PM, Dmitry Pavlov <>
>  > > > > > > > > > dpavlov....@gmail.com>>
>  > > > > > > > > > > > > wrote:>
>  > > > > > > > > > > > >>
>  > > > > > > > > > > > >> 3.c>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >> 1. All test suites *MUST* be run on TeamCity [3]>
>  > > > before>
>  > > > > > > merge>
>  > > > > > > > to>
>  > > > > > > > > > > > master,>
>  > > > > > > > > > > > >> there *MUST NOT* be any test failures>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >> 'New' word should be removed because we cant
> separate>
>  > > > > `new`>
>  > > > > > > and>
>  > > > > > > > > `non>
>  > > > > > > > > > > > new`>
>  > > > > > > > > > > > >> failures.>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >> Let's imagine example, we have 50 green runs in>
>  > > master.>
>  > > > > And>
>  > > > > > PR>
>  > > > > > > > > > Run-All>
>  > > > > > > > > > > > >> contains this test failed. Is it new or not new?>
>  > > > Actually>
>  > > > > we>
>  > > > > > > > don't>
>  > > > > > > > > > > know.>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >> Existing requirement is about all TC must be
> green, so>
>  > > > > let's>
>  > > > > > > > keep>
>  > > > > > > > > it>
>  > > > > > > > > > > as>
>  > > > > > > > > > > > is.>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >> ср, 23 мая 2018 г. в 17:02, Vladimir Ozerov <>
>  > > > > > > > voze...@gridgain.com>
>  > > > > > > > > >:>
>  > > > > > > > > > > > >>>
>  > > > > > > > > > > > >>> Igniters,>
>  > > > > > > > > > > > >>>>
>  > > > > > > > > > > > >>> I created review checklist on WIKI [1] and
> also fixed>
>  > > > > > related>
>  > > > > > > > > pages>
>  > > > > > > > > > > > (e.g.>
>  > > > > > > > > > > > >>> "How To Contribute"). Please let me know if
> you have>
>  > > > any>
>  > > > > > > > comments>
>  > > > > > > > > > > > before>
>  > > > > > > > > > > > >> I>
>  > > > > > > > > > > > >>> go with public announce.>
>  > > > > > > > > > > > >>>>
>  > > > > > > > > > > > >>> Vladimir.>
>  > > > > > > > > > > > >>>>
>  > > > > > > > > > > > >>> [1]>
>  > > > > > > > > > > >>
>  > > > > > > >>
>  > > > https://cwiki.apache.org/confluence/display/IGNITE/Review+Checklist
> >
>  > > > > > > > > > > > >>>>
>  > > > > > > > > > > > >>> On Thu, May 10, 2018 at 5:10 PM, Vladimir
> Ozerov <>
>  > > > > > > > > > > voze...@gridgain.com>
>  > > > > > > > > > > > >>
>  > > > > > > > > > > > >>> wrote:>
>  > > > > > > > > > > > >>>>
>  > > > > > > > > > > > >>>> Ilya,>
>  > > > > > > > > > > > >>>>>
>  > > > > > > > > > > > >>>> We define that exception messages *SHOULD*
> have>
>  > > clear>
>  > > > > > > > > explanation>
>  > > > > > > > > > on>
>  > > > > > > > > > > > >> what>
>  > > > > > > > > > > > >>>> is wrong. *SHOULD* mean that the rule should
> be>
>  > > > followed>
>  > > > > > > > unless>
>  > > > > > > > > > > there>
>  > > > > > > > > > > > >> is>
>  > > > > > > > > > > > >>> a>
>  > > > > > > > > > > > >>>> reason not to follow. In your case you refer
> to some>
>  > > > > > > > unexpected>
>  > > > > > > > > > > > >> behavior.>
>  > > > > > > > > > > > >>>> I.e. an exceptional situation developer is
> not aware>
>  > > > of.>
>  > > > > > In>
>  > > > > > > > this>
>  > > > > > > > > > > case>
>  > > > > > > > > > > > >> for>
>  > > > > > > > > > > > >>>> sure we cannot force contributor to explain
> what is>
>  > > > > wrong,>
>  > > > > > > > > > because,>
>  > > > > > > > > > > > >> well,>
>  > > > > > > > > > > > >>>> we don't know. This is why we relaxed the
> rule from>
>  > > > > *MUST*>
>  > > > > > > to>
>  > > > > > > > > > > > *SHOULD*.>
>  > > > > > > > > > > > >>>>>
>  > > > > > > > > > > > >>>> On Thu, May 10, 2018 at 3:50 PM, Ilya
> Kasnacheev <>
>  > > > > > > > > > > > >>>> ilya.kasnach...@gmail.com> wrote:>
>  > > > > > > > > > > > >>>>>
>  > > > > > > > > > > > >>>>> I don't think I quite understand how
> exception>
>  > > > > > explanations>
>  > > > > > > > > > should>
>  > > > > > > > > > > > >> work.>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> Imagine we have the following exception:>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> // At least RuntimeException can be thrown
> by the>
>  > > > code>
>  > > > > > > above>
>  > > > > > > > > when>
>  > > > > > > > > > > > >>>>> GridCacheContext is cleaned and there is>
>  > > > > > > > > > > > >>>>> // an attempt to use cleaned resources.>
>  > > > > > > > > > > > >>>>> U.error(log, "Unexpected exception during
> cache>
>  > > > > update",>
>  > > > > > > e);>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> I mean, we genuinely don't know what
> happened here.>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> Under new rules, what kind of "workaround"
> would>
>  > > that>
>  > > > > > > > exception>
>  > > > > > > > > > > > >> suggest?>
>  > > > > > > > > > > > >>>>> "Try turning it off and then back on"?>
>  > > > > > > > > > > > >>>>> What explanation how to resolve this
> exception can>
>  > > we>
>  > > > > > > offer?>
>  > > > > > > > > > > "Please>
>  > > > > > > > > > > > >>> write>
>  > > > > > > > > > > > >>>>> to d...@apache.ignite.org or to Apache JIRA,
> and>
>  > > then>
>  > > > > > wait>
>  > > > > > > > for>
>  > > > > > > > > a>
>  > > > > > > > > > > > >> release>
>  > > > > > > > > > > > >>>>> with fix?">
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> I'm really confused how we can implement
> 1.6 and>
>  > > 1.7>
>  > > > > when>
>  > > > > > > > > dealing>
>  > > > > > > > > > > > with>
>  > > > > > > > > > > > >>>>> messy real-world code.>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> Regards,>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> -->
>  > > > > > > > > > > > >>>>> Ilya Kasnacheev>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>> 2018-05-10 11:39 GMT+03:00 Vladimir Ozerov <>
>  > > > > > > > > voze...@gridgain.com>
>  > > > > > > > > > >:>
>  > > > > > > > > > > > >>>>>>
>  > > > > > > > > > > > >>>>>> Andrey, Anton, Alex>
>  > > > > > > > > > > > >>>>>>>
>  > > > > > > > > > > > >>>>>> Agree, *SHOULD* is more appropriate here.>
>  > > > > > > > > > > > >>>>>>>
>  > > > > > > > > > > > >>>>>> Please see latest version below. Does
> anyone want>
>  > > to>
>  > > > > add>
>  > > > > > > or>
>  > > > > > > > > > change>
>  > > > > > > > > > > > >>>>>> something? Let's wait for several days for
> more>
>  > > > > feedback>
>  > > > > > > and>
>  > > > > > > > > > then>
>  > > > > > > > > > > > >>>>> publish>
>  > > > > > > > > > > > >>>>>> and announce t
>

Reply via email to