Guys, I asked what harm will applying the patch bring I have not got a direct answer. But I think I got some pain points: 1. Anton does not like that reasons why ~100 tests require noop handler are not clear. And might be several problems are covered there. 2. Nikolay suggests some code improvements.
Nikolay's patch [1] suggests a slightly different approach how to the same thing. And implementing that idea looks like a cheap refactoring. But the idea of course could be discussed. Straight away I can suggest another slightly different trick [2]. Investigating why ~100 tests require noop handler could be costly. So, in that direction I see following options which can happen for sure: 1. Accept the patch and bring an improvement to Ignite (and create a ticket for further investigation). 2. Revert the patch and loose an improvement. One might say that there is an option "Revert the patch and then do it better" but I does not see anything (anyone) what can guarantee it. So, I personally prefer an option 1 against 2 because I believe that it is good if the system "can make a progress". [1] https://github.com/apache/ignite/pull/5584/files [2] https://github.com/apache/ignite/pull/5586/files ср, 5 дек. 2018 г. в 21:22, Nikolay Izhikov <nizhi...@apache.org>: > > Dmitriy. > > > The closest analog to Noop handler is mute of test failure. > > By this commit, we had unmuted (possible) failures in ~50000-~100=~49900 > tests, and we’re still concerned about style or minor details if no-op was > copy-pasted, aren’t we? > > Can you explain this idea a bit more? > I don't understand what is unmuted by discussed commit. > > ср, 5 дек. 2018 г. в 20:40, Nikolay Izhikov <nizhi...@apache.org>: > > > > Thanks, as an improvement to the code, this may be better. > > > > I can prepare a full patch for NoOp handler. > > What do you think? > > > > Anton Vinogradov, do you agree with this approach? > > > > > > > > ср, 5 дек. 2018 г. в 20:33, Dmitriy Pavlov <dpav...@apache.org>: > > > >> Thanks, as an improvement to the code, this may be better. But still, it > >> is > >> not a reason to revert. And Anton mentioned something with better > >> exception > >> handling/logging. Probably we will see an implementation as well. > >> > >> This case here is a big thing related to The Apache Way, - and I'll > >> explain > >> why it makes me switched into fight-mode - until we stop this nonsense. If > >> PMCs (at least) are aware of patterns and anti-patterns in the community, > >> we will succeed as a project much more as with (only) perfect code. > >> > >> The closest analog to Noop handler is mute of test failure. By this > >> commit, > >> we had unmuted (possible) failures in ~50000-~100=~49900 tests, and we’re > >> still concerned about style or minor details if no-op was copy-pasted, > >> aren’t we? > >> > >> To everyone arguing about the number of tests we are allowed to have with > >> no-op: please visit this page > >> > >> https://ci.ignite.apache.org/project.html?projectId=IgniteTests24Java8&tab=mutedProblems&branch_IgniteTests24Java8=__all_branches__ > >> > >> It says: Muted tests: 3154. Are there any disagreements here? Why there > >> are > >> no insistent disagreement/not happy PMCs with absolutely unconditionally > >> muted failures? > >> > >> Any reason now to continue the discussion about reverting absolutely > >> positive contribution into product stability from Dmitrii R.? > >> > >> Moreover, Dmitrii Ryabov is trying to solve odd mutes problem, as well, to > >> locate mutes with links resolved issues in the TC Bot. Is he deserved to > >> read denouncing comments about the contribution? I guess, no, especially > >> if > >> the commenter is not going to help/contribute a better fix. > >> > >> This is now a paramount thing for me if people in this thread will join > >> the > >> process or not. People may be not happy with some decisions/code/style, > >> and > >> some people are more often unhappy than others. More you contribute,- more > >> you can decide. If you don't contribute at all - I don't care too much > >> about just opinions, I can accept facts. To provide facts we need to do > >> deep research, how can someone know if the test should be no-op or not > >> without deep analysis? > >> > >> Again, if someone comes to list and provide just negative feedback, people > >> will stop writing here. Probably no-op was enabled without proper > >> discussion because of this, someone may be afraid of sharing this. Result: > >> some of us knew it only now. > >> > >> Do you need to make Ignite quite toxic place to have an absolutely perfect > >> code with just a few of arguing-resistant contributors? I believe not, and > >> you don't need to be reminded 'community first principle'. > >> > >> > >> ср, 5 дек. 2018 г. в 19:43, Nikolay Izhikov <nizhi...@apache.org>: > >> > >> > Dmitriy. > >> > > >> > I think we should avoid copy paste code instead of thinking about Apache > >> > Way all the time :) > >> > > >> > Anyway, I propose to return to the code! > >> > I think we should use some kind of marker base class for a cases with > >> > NoOpHandler. > >> > This has several advantages, comparing with current implementation: > >> > > >> > 1. No copy paste code > >> > 2. Reduce changes. > >> > 3. All usages of NoOpHandler can be easily found with IDE or grep > >> search. > >> > > >> > I've prepared proof of concept pull request to demonstrate my approach > >> [1] > >> > I can go further and prepare full fix. > >> > > >> > What do you think? > >> > > >> > [1] https://github.com/apache/ignite/pull/5584/files > >> > > >> > ср, 5 дек. 2018 г. в 18:29, Dmitriy Pavlov <dpav...@apache.org>: > >> > > >> > > Folks, let me explain one thing which is not related much to fix > >> itself, > >> > > but it is more about how we interact. If someone will just come to the > >> > list > >> > > and say it is not good commit, it is a silly solution and say to > >> others > >> > to > >> > > rework these patches - it is a road to nowhere. > >> > > > >> > > If someone sees the potential to make things better he or she suggest > >> > help > >> > > (or commits patch). This is named do-ocracy, those who do can make a > >> > > decision. > >> > > > >> > > > >> > > > >> > > And this topic it is a perfect example of how do-ocracy should (and > >> > should > >> > > not) work. We have a potentially hidden problem (we had it before > >> Dmitriy > >> > > R. commit), I believe 3 or 7 tests may be found after re-checks of > >> tests. > >> > > Eventually, these tests will get their stop-node handler after > >> revisiting > >> > > no-op test list. > >> > > > >> > > > >> > > > >> > > We have ~100 tests and several people who care. Anton, Andrew, > >> Dmitrii & > >> > > Dmitriy, Nikolay, probably Ed, and we have 100/6 = 18 tests to double > >> > check > >> > > for each contributor. We can make things better if we go together. And > >> > this > >> > > is how a community works. > >> > > > >> > > > >> > > > >> > > If someone just come to list to criticize and enforces someone else > >> to do > >> > > all things, he or she probably don't want to improve project code but > >> has > >> > > other goals. > >> > > > >> > > ср, 5 дек. 2018 г. в 18:08, Andrey Kuznetsov <stku...@gmail.com>: > >> > > > >> > > > As I can see from the above discussion, > >> > > > > >> > > > > Tests in these classes check fail cases when we expect critical > >> > > failure > >> > > > like node stop or exception thrown > >> > > > > >> > > > So, this copy-n-paste-style change is caused by the imperfect logic > >> of > >> > > > existing tests, that should be reworked in more robust way, e.g. > >> using > >> > > > custom failure handlers. Dmitrii just revealed the existing flaws, > >> IMO. > >> > > > > >> > > > ср, 5 дек. 2018 г. в 17:54, Nikolay Izhikov <nizhi...@apache.org>: > >> > > > > >> > > > > Hello, Igniters. > >> > > > > > >> > > > > I'm agree with Anton Vinogradov. > >> > > > > > >> > > > > I think we should avoid commits like [1] > >> > > > > Copy paste coding style is well known anti pattern. > >> > > > > > >> > > > > Don't we have another option to do same fix with better styling? > >> > > > > > >> > > > > Accepting such patches leads to the further tickets to cleanup > >> mess > >> > > that > >> > > > > patches brings to the code base. > >> > > > > Example of cleanup [2] > >> > > > > > >> > > > > It's take a significant amount of my and Maxim time to made and > >> > review > >> > > > this > >> > > > > cleanup patch. > >> > > > > > >> > > > > We shouldn't accept patch with copy paste "improvements". > >> > > > > > >> > > > > > I really like your perfectionism > >> > > > > > >> > > > > It's not about perfectionism it's about keeping code base clean. > >> > > > > > >> > > > > > And I'm going to rollback changes in case arguments will not be > >> > > > provided. > >> > > > > > >> > > > > +1 to rollback and rework this commit. > >> > > > > At least, we should reduce copy paste code. > >> > > > > > >> > > > > [1] > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> https://github.com/apache/ignite/commit/b94a3c2fe3a272a31fad62b80505d16f87eab2dd > >> > > > > [2] > >> > > > > > >> > > > > > >> > > > > >> > > > >> > > >> https://github.com/apache/ignite/commit/eb8038f65285559c5424eba2882b0de0583ea7af > >> > > > > > >> > > > > ср, 5 дек. 2018 г. в 17:28, Anton Vinogradov <a...@apache.org>: > >> > > > > > >> > > > > > Andrey, > >> > > > > > > >> > > > > > >> But why should we make all things perfect > >> > > > > > >> in a single fix? > >> > > > > > As I said, I'm ok in case someone ready to continue :) > >> > > > > > But, we should avoid such over-copy-pasted commits in the > >> future. > >> > > > > > > >> > > > > > On Wed, Dec 5, 2018 at 5:13 PM Andrey Mashenkov < > >> > > > > > andrey.mashen...@gmail.com> > >> > > > > > wrote: > >> > > > > > > >> > > > > > > Dmitry, > >> > > > > > > > >> > > > > > > Do we have TC run results for the PR before massive failure > >> > handler > >> > > > > > > fallbacks were added? > >> > > > > > > Let's create a ticket to investigate possibility of using any > >> > > > > meaningful > >> > > > > > > failure handler for such tests with TC report attached. > >> > > > > > > > >> > > > > > > On Wed, Dec 5, 2018 at 4:41 PM Anton Vinogradov < > >> a...@apache.org> > >> > > > wrote: > >> > > > > > > > >> > > > > > > > Dmitriy, > >> > > > > > > > > >> > > > > > > > It's ok in case someone ready to do this (get rid of all > >> no-op > >> > or > >> > > > > > explain > >> > > > > > > > why it's a better choice). > >> > > > > > > > Explicit confirmation required. > >> > > > > > > > > >> > > > > > > > Otherwise, only rollback is an option. > >> > > > > > > > > >> > > > > > > > On Wed, Dec 5, 2018 at 4:29 PM Dmitriy Pavlov < > >> > > dpav...@apache.org> > >> > > > > > > wrote: > >> > > > > > > > > >> > > > > > > > > Anton, if you care enough here will you try to research a > >> > > couple > >> > > > of > >> > > > > > > these > >> > > > > > > > > tests? Or you are asking others to do things for you, > >> aren't > >> > > you? > >> > > > > > > > > > >> > > > > > > > > I like idea from Andrew to create ticket and check these > >> test > >> > > to > >> > > > > keep > >> > > > > > > > > moving towards 0....10 tests with noop. It is easy to > >> locate > >> > > > these > >> > > > > > > > > overridden method now. > >> > > > > > > > > > >> > > > > > > > > So threat this change as contributed mechanism for failing > >> > > tests. > >> > > > > Is > >> > > > > > it > >> > > > > > > > Ok > >> > > > > > > > > for you? > >> > > > > > > > > > >> > > > > > > > > ср, 5 дек. 2018 г., 15:59 Anton Vinogradov <a...@apache.org > >> >: > >> > > > > > > > > > >> > > > > > > > > > >> I didn't get. What is the problem in saving No-Op for > >> > > > several > >> > > > > > > tests? > >> > > > > > > > > Why > >> > > > > > > > > > >> should we keep No-Op for all? > >> > > > > > > > > > Several (less than 10) is ok to me with the proper > >> > > explanation > >> > > > > why > >> > > > > > > > tests > >> > > > > > > > > > fail and why no-op is a better choice. > >> > > > > > > > > > > >> > > > > > > > > > 100+++ copy-pasted no-op handlers are not ok! > >> > > > > > > > > > > >> > > > > > > > > > >> I don't ask you to re-do this change, I ask to > >> > demonstrate > >> > > > any > >> > > > > > > > better > >> > > > > > > > > > >> approach for tests which intentionally activate > >> failure > >> > > > > handler. > >> > > > > > > > > > You asking me to provide approach without explanation > >> why > >> > > tests > >> > > > > > fail > >> > > > > > > > > > without no-op handler? > >> > > > > > > > > > My approach is to rollback this fix, reopen the issue > >> and > >> > > make > >> > > > > > > > everything > >> > > > > > > > > > properly. > >> > > > > > > > > > Make a proper investigation first. > >> > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > Finally, let's stop this game. > >> > > > > > > > > > We have to discuss the reasons why tests fail. > >> > > > > > > > > > In case no-one checked "why" before the fix was merged > >> we > >> > > will > >> > > > be > >> > > > > > > able > >> > > > > > > > to > >> > > > > > > > > > start doing this after rollback. > >> > > > > > > > > > > >> > > > > > > > > > On Wed, Dec 5, 2018 at 3:49 PM Eduard Shangareev < > >> > > > > > > > > > eduard.shangar...@gmail.com> wrote: > >> > > > > > > > > > > >> > > > > > > > > > > Guys, > >> > > > > > > > > > > > >> > > > > > > > > > > I didn't get. What is the problem in saving No-Op for > >> > > several > >> > > > > > > tests? > >> > > > > > > > > Why > >> > > > > > > > > > > should we keep No-Op for all? > >> > > > > > > > > > > > >> > > > > > > > > > > On Wed, Dec 5, 2018 at 3:20 PM Павлухин Иван < > >> > > > > > vololo...@gmail.com> > >> > > > > > > > > > wrote: > >> > > > > > > > > > > > >> > > > > > > > > > > > Anton, > >> > > > > > > > > > > > > >> > > > > > > > > > > > Yes I meant that patch. And I would like to respell > >> a > >> > > name > >> > > > > > > "massive > >> > > > > > > > > > > > no-op handler restore" to "use no-op failure handler > >> > only > >> > > > > where > >> > > > > > > it > >> > > > > > > > is > >> > > > > > > > > > > > assumed". > >> > > > > > > > > > > > ср, 5 дек. 2018 г. в 15:09, Dmitriy Pavlov < > >> > > > > dpav...@apache.org > >> > > > > > >: > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > Dmitrii Ryabov explained these tests are > >> perfectly ok > >> > > to > >> > > > > have > >> > > > > > > > > > failures > >> > > > > > > > > > > as > >> > > > > > > > > > > > > these tests do test failures. > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > Anton, there is no reason to revert other's > >> > > contributions > >> > > > > > > because > >> > > > > > > > > you > >> > > > > > > > > > > > know > >> > > > > > > > > > > > > how to do things better. A lot of people can do > >> > things > >> > > > > better > >> > > > > > > > than > >> > > > > > > > > > me. > >> > > > > > > > > > > > > Should we revert everything I've contributed? I > >> hope > >> > - > >> > > > no. > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > If you can do things better, just commit further > >> > > > > > improvements. > >> > > > > > > > And > >> > > > > > > > > I > >> > > > > > > > > > > will > >> > > > > > > > > > > > > be happy if you contribute some improvements > >> later. > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > If you would like to revert by veto, please > >> justify > >> > > your > >> > > > > > > intent. > >> > > > > > > > If > >> > > > > > > > > > you > >> > > > > > > > > > > > > would discuss it with all community, please feel > >> free > >> > > to > >> > > > > > > convince > >> > > > > > > > > me > >> > > > > > > > > > > and > >> > > > > > > > > > > > > others. > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > ср, 5 дек. 2018 г. в 14:53, Павлухин Иван < > >> > > > > > vololo...@gmail.com > >> > > > > > > >: > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > Hi Anton, > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > Could you please summarize what does > >> aforementioned > >> > > > patch > >> > > > > > > made > >> > > > > > > > > > really > >> > > > > > > > > > > > > > worse? > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > As I see, the patch added a very good thing -- > >> > > > meaningful > >> > > > > > > > failure > >> > > > > > > > > > > > > > handler in tests. And I think it is really > >> > important. > >> > > > But > >> > > > > > was > >> > > > > > > > is > >> > > > > > > > > > the > >> > > > > > > > > > > > > > harm and does it overweight positive result? And > >> > why? > >> > > > > > > > > > > > > > ср, 5 дек. 2018 г. в 14:03, Anton Vinogradov < > >> > > > > > a...@apache.org > >> > > > > > > >: > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > Dmitriy, > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > That's an incorrect idea to ask me to provide > >> PR > >> > or > >> > > > to > >> > > > > > fix > >> > > > > > > > > these > >> > > > > > > > > > > test > >> > > > > > > > > > > > > > > properly since I'm not an author or reviewer. > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > But, I, as a community member, ask you to > >> explain > >> > > > what > >> > > > > > > > problems > >> > > > > > > > > > the > >> > > > > > > > > > > > fix > >> > > > > > > > > > > > > > > fixes. > >> > > > > > > > > > > > > > > In case you're not able to provide the > >> > explanation > >> > > I > >> > > > > will > >> > > > > > > > > > rollback > >> > > > > > > > > > > > the > >> > > > > > > > > > > > > > > changes. > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > That's not acceptable to merge fix of unknown > >> > > > problems. > >> > > > > > At > >> > > > > > > > > least, > >> > > > > > > > > > > > such > >> > > > > > > > > > > > > > "100 > >> > > > > > > > > > > > > > > times copy-paste fix". > >> > > > > > > > > > > > > > > Please provide the explanation of the problem > >> > we're > >> > > > > > fixing > >> > > > > > > > for > >> > > > > > > > > > each > >> > > > > > > > > > > > test > >> > > > > > > > > > > > > > > group. > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > P.s. My goal is not to rollback something, > >> but to > >> > > > > prevent > >> > > > > > > > merge > >> > > > > > > > > > > > without > >> > > > > > > > > > > > > > > understanding what it fixes. > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > On Wed, Dec 5, 2018 at 1:40 PM Dmitriy Pavlov > >> < > >> > > > > > > > > > dpav...@apache.org> > >> > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > Anton, please provide PR to demo your idea. > >> > Code > >> > > > > speaks > >> > > > > > > > > louder > >> > > > > > > > > > > than > >> > > > > > > > > > > > > > words > >> > > > > > > > > > > > > > > > sometimes. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > No reason to revert a contribution if > >> someone > >> > has > >> > > > an > >> > > > > > > idea, > >> > > > > > > > > > which > >> > > > > > > > > > > > is not > >> > > > > > > > > > > > > > > > clear for others. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > Again, we should discuss not Dmitrii > >> > > contribution, > >> > > > > but > >> > > > > > > the > >> > > > > > > > > > > initial > >> > > > > > > > > > > > > > > > selection of no-op. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > If you will do a test failure fixes later > >> and > >> > you > >> > > > > will > >> > > > > > > set > >> > > > > > > > > new > >> > > > > > > > > > > > handler > >> > > > > > > > > > > > > > > > StopNode+FailTest as the only option - ok > >> for > >> > me. > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > ср, 5 дек. 2018 г. в 13:35, Anton > >> Vinogradov < > >> > > > > > > > a...@apache.org > >> > > > > > > > > >: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > Dmitriy, > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > As I said before, these changes allow > >> tests > >> > to > >> > > be > >> > > > > > > > > successful > >> > > > > > > > > > in > >> > > > > > > > > > > > case > >> > > > > > > > > > > > > > of > >> > > > > > > > > > > > > > > > > unexpected failures. > >> > > > > > > > > > > > > > > > > That's not acceptable. > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > As a reviewer, you have to be ready to > >> > provide > >> > > > > > > arguments > >> > > > > > > > > why > >> > > > > > > > > > > > these > >> > > > > > > > > > > > > > tests > >> > > > > > > > > > > > > > > > > have to be fixed this way and what was the > >> > > > problem, > >> > > > > > in > >> > > > > > > > case > >> > > > > > > > > > you > >> > > > > > > > > > > > > > merged > >> > > > > > > > > > > > > > > > such > >> > > > > > > > > > > > > > > > > changes. > >> > > > > > > > > > > > > > > > > That's unacceptable to hide issues > >> instead of > >> > > > fix. > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > Now, I ask you, as a reviewer, to provide > >> the > >> > > > > > > > explanation. > >> > > > > > > > > > > > > > > > > What problem and at what test we solved by > >> > > no-op > >> > > > > > > handler. > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > And I'm going to rollback changes in case > >> > > > arguments > >> > > > > > > will > >> > > > > > > > > not > >> > > > > > > > > > be > >> > > > > > > > > > > > > > provided. > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > On Wed, Dec 5, 2018 at 1:10 PM Dmitriy > >> > Pavlov < > >> > > > > > > > > > > > dpav...@apache.org> > >> > > > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > I will not do any rollback because > >> changes > >> > > make > >> > > > > > tests > >> > > > > > > > > > better. > >> > > > > > > > > > > > > > Please > >> > > > > > > > > > > > > > > > pay > >> > > > > > > > > > > > > > > > > > attention that no-op became default long > >> > time > >> > > > > ago. > >> > > > > > > > Please > >> > > > > > > > > > > > discuss > >> > > > > > > > > > > > > > this > >> > > > > > > > > > > > > > > > > > selection with authors of the previous > >> > > commit. > >> > > > > New > >> > > > > > > > commit > >> > > > > > > > > > > > changes > >> > > > > > > > > > > > > > > > > > NoOp->FailTest+stopNode. > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > Please provide a PR to demonstrate your > >> > idea > >> > > > how > >> > > > > to > >> > > > > > > > > > transfer > >> > > > > > > > > > > > and > >> > > > > > > > > > > > > > handle > >> > > > > > > > > > > > > > > > > > exceptions. I believe it will not work > >> > > because > >> > > > > the > >> > > > > > > fail > >> > > > > > > > > > > > handler is > >> > > > > > > > > > > > > > > > > > activated from any pool inside a node. > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > ср, 5 дек. 2018 г. в 13:05, Anton > >> > Vinogradov > >> > > < > >> > > > > > > > > > a...@apache.org > >> > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > Dmitriy, > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> Which code block will do a throw? > >> > > > > > > > > > > > > > > > > > > Depends on the test. > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > Looks like we make the *bad *test even > >> > > > *worse*. > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > That's not a correct fix. > >> > > > > > > > > > > > > > > > > > > In case you expect failure you have to > >> > > check > >> > > > > this > >> > > > > > > > > > > expectation > >> > > > > > > > > > > > > > inside > >> > > > > > > > > > > > > > > > > the > >> > > > > > > > > > > > > > > > > > > special handler. > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > I'd like to ask you to rollback these > >> > > changes > >> > > > > and > >> > > > > > > > > replace > >> > > > > > > > > > > > them > >> > > > > > > > > > > > > > with > >> > > > > > > > > > > > > > > > > > correct > >> > > > > > > > > > > > > > > > > > > fixes. > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > On Wed, Dec 5, 2018 at 12:39 PM Andrey > >> > > > > Mashenkov > >> > > > > > < > >> > > > > > > > > > > > > > > > > > > andrey.mashen...@gmail.com> > >> > > > > > > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > Hi, > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > Dmitri, > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > The meaningful failure handler as a > >> > > default > >> > > > > one > >> > > > > > > > looks > >> > > > > > > > > > > > > > reasonable. > >> > > > > > > > > > > > > > > > > > > > Thanks a lot. > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > But what is the reason to fallback > >> to > >> > > noop > >> > > > > for > >> > > > > > > 100+ > >> > > > > > > > > > test? > >> > > > > > > > > > > > > > > > > > > > Does it means these test become > >> failed > >> > > > after > >> > > > > > > > changing > >> > > > > > > > > > > > default > >> > > > > > > > > > > > > > > > failure > >> > > > > > > > > > > > > > > > > > > > handler? > >> > > > > > > > > > > > > > > > > > > > If so, let's create a ticket (may be > >> > > > > umbrella) > >> > > > > > to > >> > > > > > > > > > > > investigate > >> > > > > > > > > > > > > > and > >> > > > > > > > > > > > > > > > fix > >> > > > > > > > > > > > > > > > > > > this. > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > I see 100+ touched files in PR and > >> some > >> > > of > >> > > > > them > >> > > > > > > are > >> > > > > > > > > > > > abstract > >> > > > > > > > > > > > > > > > classes, > >> > > > > > > > > > > > > > > > > > so, > >> > > > > > > > > > > > > > > > > > > > we have much more affected tests. > >> > > > > > > > > > > > > > > > > > > > Seems, most of failover test doesn't > >> > > > expects > >> > > > > if > >> > > > > > > any > >> > > > > > > > > > > > critical > >> > > > > > > > > > > > > > > > internal > >> > > > > > > > > > > > > > > > > > > issue > >> > > > > > > > > > > > > > > > > > > > occur and there is no need to > >> fallback > >> > to > >> > > > > noop. > >> > > > > > > > > > > > > > > > > > > > Other test should set custom failure > >> > > > handler > >> > > > > to > >> > > > > > > > > detect > >> > > > > > > > > > > > expected > >> > > > > > > > > > > > > > > > > > failures > >> > > > > > > > > > > > > > > > > > > or > >> > > > > > > > > > > > > > > > > > > > if grid hanging simulation is needed > >> > (to > >> > > > keep > >> > > > > > > > hanged > >> > > > > > > > > > grid > >> > > > > > > > > > > > under > >> > > > > > > > > > > > > > > > > > control). > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > On Wed, Dec 5, 2018 at 12:16 PM > >> Anton > >> > > > > > Vinogradov > >> > > > > > > < > >> > > > > > > > > > > > > > a...@apache.org> > >> > > > > > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > Dmitrii, > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > No-op means "hide any problem", > >> so, > >> > we > >> > > > lose > >> > > > > > the > >> > > > > > > > > > > > guarantees. > >> > > > > > > > > > > > > > > > > > > > > Could you please share some > >> examples > >> > > > where > >> > > > > > > > "no-op" > >> > > > > > > > > > > better > >> > > > > > > > > > > > > > than > >> > > > > > > > > > > > > > > > > > "strict > >> > > > > > > > > > > > > > > > > > > > > try-catch with a check"? > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > On Wed, Dec 5, 2018 at 11:37 AM > >> > Dmitrii > >> > > > > > Ryabov > >> > > > > > > < > >> > > > > > > > > > > > > > > > > > somefire...@gmail.com> > >> > > > > > > > > > > > > > > > > > > > > wrote: > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > Anton, I think wrapping every > >> > > > > disconnecting > >> > > > > > > > node > >> > > > > > > > > > with > >> > > > > > > > > > > > > > try-catch > >> > > > > > > > > > > > > > > > > > will > >> > > > > > > > > > > > > > > > > > > be > >> > > > > > > > > > > > > > > > > > > > > > less readable than no-op > >> handler. > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > ср, 5 дек. 2018 г., 9:26 Dmitriy > >> > > Pavlov > >> > > > > > > > > > > > dpav...@apache.org > >> > > > > > > > > > > > > > : > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > Folks let me remind you that > >> > Dmitry > >> > > > > > changed > >> > > > > > > > > > default > >> > > > > > > > > > > > of > >> > > > > > > > > > > > > > ALL > >> > > > > > > > > > > > > > > > > tests > >> > > > > > > > > > > > > > > > > > > from > >> > > > > > > > > > > > > > > > > > > > > > noop > >> > > > > > > > > > > > > > > > > > > > > > > to a meaningful handler. So we > >> > > should > >> > > > > > start > >> > > > > > > > > every > >> > > > > > > > > > > > message > >> > > > > > > > > > > > > > > > here > >> > > > > > > > > > > > > > > > > > from > >> > > > > > > > > > > > > > > > > > > > > > saying > >> > > > > > > > > > > > > > > > > > > > > > > thank you to Dmitry. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > Please review remaining tests > >> and > >> > > > > remove > >> > > > > > > noop > >> > > > > > > > > > where > >> > > > > > > > > > > > > > possible. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > вт, 4 дек. 2018 г., 23:48 > >> Andrey > >> > > > > > Mashenkov > >> > > > > > > < > >> > > > > > > > > > > > > > > > > > > > andrey.mashen...@gmail.com > >> > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > Hi all, > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > Really, why noop? > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > If you expect failure > >> handler > >> > > > should > >> > > > > be > >> > > > > > > > > > > triggered, > >> > > > > > > > > > > > you > >> > > > > > > > > > > > > > can > >> > > > > > > > > > > > > > > > > > > override > >> > > > > > > > > > > > > > > > > > > > > > > default > >> > > > > > > > > > > > > > > > > > > > > > > > one and rise some flag, > >> which > >> > can > >> > > > be > >> > > > > > > > checked > >> > > > > > > > > in > >> > > > > > > > > > > > test. > >> > > > > > > > > > > > > > > > > > > > > > > > This will make test clearer. > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > With noop, you'll get > >> previous > >> > > > > unwanted > >> > > > > > > > > > > behavior, > >> > > > > > > > > > > > > > that you > >> > > > > > > > > > > > > > > > > are > >> > > > > > > > > > > > > > > > > > > > > trying > >> > > > > > > > > > > > > > > > > > > > > > to > >> > > > > > > > > > > > > > > > > > > > > > > > improve, isnt'it? > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > 4 дек. 2018 г. 23:25 > >> > пользователь > >> > > > > > "Anton > >> > > > > > > > > > > > Vinogradov" < > >> > > > > > > > > > > > > > > > > > > > a...@apache.org> > >> > > > > > > > > > > > > > > > > > > > > > > > написал: > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > And you have to check the > >> > reason > >> > > of > >> > > > > > > failure > >> > > > > > > > > > > inside > >> > > > > > > > > > > > the > >> > > > > > > > > > > > > > > > > > try-catch > >> > > > > > > > > > > > > > > > > > > > > block, > >> > > > > > > > > > > > > > > > > > > > > > > of > >> > > > > > > > > > > > > > > > > > > > > > > > course. > >> > > > > > > > > > > > > > > > > > > > > > > > In case found not equals to > >> > > > expected > >> > > > > > then > >> > > > > > > > > test > >> > > > > > > > > > > > should > >> > > > > > > > > > > > > > > > rethrow > >> > > > > > > > > > > > > > > > > > the > >> > > > > > > > > > > > > > > > > > > > > > > > exception. > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > вт, 4 дек. 2018 г. в 23:21, > >> > Anton > >> > > > > > > > Vinogradov > >> > > > > > > > > < > >> > > > > > > > > > > > > > > > a...@apache.org > >> > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > Dmitrii, > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > The solution is not clear > >> to > >> > > me. > >> > > > > > > > > > > > > > > > > > > > > > > > > In case you expect the > >> > failure > >> > > > > then a > >> > > > > > > > > correct > >> > > > > > > > > > > > case > >> > > > > > > > > > > > > > is to > >> > > > > > > > > > > > > > > > > wrap > >> > > > > > > > > > > > > > > > > > > it > >> > > > > > > > > > > > > > > > > > > > > with > >> > > > > > > > > > > > > > > > > > > > > > > > > try-catch block instead of > >> > > no-op > >> > > > > > > failure > >> > > > > > > > > > > handler > >> > > > > > > > > > > > > > usage. > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > вт, 4 дек. 2018 г. в > >> 21:41, > >> > > > Dmitrii > >> > > > > > > > Ryabov > >> > > > > > > > > < > >> > > > > > > > > > > > > > > > > > > > somefire...@gmail.com > >> > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> Anton, > >> > > > > > > > > > > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > > > > > > > > > > >> Tests in these classes > >> check > >> > > > fail > >> > > > > > > cases > >> > > > > > > > > when > >> > > > > > > > > > > we > >> > > > > > > > > > > > > > expect > >> > > > > > > > > > > > > > > > > > > critical > >> > > > > > > > > > > > > > > > > > > > > > > > >> failure like node stop or > >> > > > > exception > >> > > > > > > > > thrown. > >> > > > > > > > > > > Such > >> > > > > > > > > > > > > > tests > >> > > > > > > > > > > > > > > > > > trigger > >> > > > > > > > > > > > > > > > > > > > > > failure > >> > > > > > > > > > > > > > > > > > > > > > > > >> handler and it fails test > >> > when > >> > > > > > > > everything > >> > > > > > > > > > goes > >> > > > > > > > > > > > as it > >> > > > > > > > > > > > > > > > > should > >> > > > > > > > > > > > > > > > > > > go. > >> > > > > > > > > > > > > > > > > > > > > > That's > >> > > > > > > > > > > > > > > > > > > > > > > > >> why we need no-op handler > >> > > here. > >> > > > > > > > > > > > > > > > > > > > > > > > >> вт, 4 дек. 2018 г. в > >> 20:06, > >> > > > > Dmitriy > >> > > > > > > > > Pavlov < > >> > > > > > > > > > > > > > > > > > > dpav...@apache.org > >> > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > Hi Igniters, > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > BTW, if you find in > >> any of > >> > > > your > >> > > > > > > tests > >> > > > > > > > it > >> > > > > > > > > > > > does't > >> > > > > > > > > > > > > > need > >> > > > > > > > > > > > > > > > an > >> > > > > > > > > > > > > > > > > > old > >> > > > > > > > > > > > > > > > > > > > > value > >> > > > > > > > > > > > > > > > > > > > > > of > >> > > > > > > > > > > > > > > > > > > > > > > > >> > handler (=NoOp), feel > >> free > >> > > to > >> > > > > > remove > >> > > > > > > > it. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > Sincerely, > >> > > > > > > > > > > > > > > > > > > > > > > > >> > Dmitriy Pavlov > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > вт, 4 дек. 2018 г. в > >> > 20:02, > >> > > > > Anton > >> > > > > > > > > > > Vinogradov < > >> > > > > > > > > > > > > > > > > > a...@apache.org > >> > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please > >> explain > >> > > the > >> > > > > > > reason > >> > > > > > > > of > >> > > > > > > > > > > > explicit > >> > > > > > > > > > > > > > set > >> > > > > > > > > > > > > > > > of > >> > > > > > > > > > > > > > > > > > > 100+ > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в > >> > > 19:12, > >> > > > > > > Dmitrii > >> > > > > > > > > > > Ryabov < > >> > > > > > > > > > > > > > > > > > > > > > somefire...@gmail.com > >> > > > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > Hello, Igniters! > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > Today the test > >> > > framework's > >> > > > > > > default > >> > > > > > > > > > no-op > >> > > > > > > > > > > > > > failure > >> > > > > > > > > > > > > > > > > > handler > >> > > > > > > > > > > > > > > > > > > > was > >> > > > > > > > > > > > > > > > > > > > > > > > >> changed to > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > the > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > handler, which > >> stops > >> > the > >> > > > > node > >> > > > > > > and > >> > > > > > > > > > fails > >> > > > > > > > > > > > the > >> > > > > > > > > > > > > > test. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > Over 100 tests kept > >> > > no-op > >> > > > > > > failure > >> > > > > > > > > > > handler > >> > > > > > > > > > > > by > >> > > > > > > > > > > > > > > > > overrided > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> `getFailureHandler()` > >> > > > > method. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > If you'll found a > >> > > problem > >> > > > or > >> > > > > > > > > something > >> > > > > > > > > > > > > > unexpected > >> > > > > > > > > > > > > > > > - > >> > > > > > > > > > > > > > > > > > > write > >> > > > > > > > > > > > > > > > > > > > > here > >> > > > > > > > > > > > > > > > > > > > > > > or > >> > > > > > > > > > > > > > > > > > > > > > > > >> in the > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > ticket [1]. > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > [1] > >> > > > > > > > > > > > > > > > > > >> > > > https://issues.apache.org/jira/browse/IGNITE-8227 > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > -- > >> > > > > > > > > > > > > > > > > > > > Best regards, > >> > > > > > > > > > > > > > > > > > > > Andrey V. Mashenkov > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > -- > >> > > > > > > > > > > > > > Best regards, > >> > > > > > > > > > > > > > Ivan Pavlukhin > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > -- > >> > > > > > > > > > > > Best regards, > >> > > > > > > > > > > > Ivan Pavlukhin > >> > > > > > > > > > > > > >> > > > > > > > > > > > >> > > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > >> > > > > > > > >> > > > > > > > >> > > > > > > -- > >> > > > > > > Best regards, > >> > > > > > > Andrey V. Mashenkov > >> > > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> > > > -- > >> > > > Best regards, > >> > > > Andrey Kuznetsov. > >> > > > > >> > > > >> > > >> > > -- Best regards, Ivan Pavlukhin