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 <[hidden email]>: > > 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, Павлухин Иван <[hidden email]>: > > > 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 <[hidden email]>: > > > > > > 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 <[hidden email]> > > 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 <[hidden email]>: > > > > > > > > > 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 <[hidden email]> > > > > 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 <[hidden email]>: > > > > > > > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > 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 < > > [hidden email]> > > > > > > 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 < > > > > > > [hidden email]> > > > > > > > > > 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 [hidden email] > > : > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > [hidden email]> > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > >> > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > Could you please explain the reason of explicit > > set > > > > of > > > > > > > 100+ > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii Ryabov < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > > 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 |
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 Павлухин Иван <[hidden email]> 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 <[hidden email]>: > > > > 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, Павлухин Иван <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > > 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 <[hidden email]> > > > 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 <[hidden email]>: > > > > > > > > > > > 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 < > [hidden email]> > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > 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 > [hidden email] > > > : > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > explicit > > > set > > > > > of > > > > > > > > 100+ > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii Ryabov < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > 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 > |
In reply to this post by Ivan Pavlukhin
Dmitriy Pavlov, Dmitrii Ryabov,
>> Anton, there is no reason to revert other's contributions because you know >> how to do things better. What I see is "We replaced no-op with the proper handler, but ..... 100+ no-op still here because tests start failing :)" That's a completely different situation. And it's unacceptable to merge not a finished solution. A proper explanation of problems why these tests have to have no-op handler still required. Once proper explanation will be provided we will be able to decide is it ok or no. Explanation lack means commit rollback and issue reopening and there is nothing to discuss. Please provide at least some examples with the following template Test XXX required no-op handler because of YYY and we will agree or will try to find a better solution. On Wed, Dec 5, 2018 at 3:20 PM Павлухин Иван <[hidden email]> 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 <[hidden email]>: > > > > 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, Павлухин Иван <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > > 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 <[hidden email]> > > > 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 <[hidden email]>: > > > > > > > > > > > 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 < > [hidden email]> > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > 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 > [hidden email] > > > : > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > explicit > > > set > > > > > of > > > > > > > > 100+ > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii Ryabov < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > > 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 > |
Ivan,
>> 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". How about "we changed some handlers to proper, but keep other no-ops using explicit copy-paste"? :) On Wed, Dec 5, 2018 at 3:38 PM Anton Vinogradov <[hidden email]> wrote: > Dmitriy Pavlov, Dmitrii Ryabov, > > >> Anton, there is no reason to revert other's contributions because you > know > >> how to do things better. > > What I see is "We replaced no-op with the proper handler, but ..... 100+ > no-op still here because tests start failing :)" > That's a completely different situation. > And it's unacceptable to merge not a finished solution. > > A proper explanation of problems why these tests have to have no-op > handler still required. > > Once proper explanation will be provided we will be able to decide is it > ok or no. > Explanation lack means commit rollback and issue reopening and there is > nothing to discuss. > > Please provide at least some examples with the following template > Test XXX required no-op handler because of YYY > and we will agree or will try to find a better solution. > > On Wed, Dec 5, 2018 at 3:20 PM Павлухин Иван <[hidden email]> 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 <[hidden email]>: >> > >> > 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, Павлухин Иван <[hidden email]>: >> > >> > > 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 <[hidden email]>: >> > > > >> > > > 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 <[hidden email]> >> > > 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 <[hidden email]>: >> > > > > >> > > > > > 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 < >> [hidden email]> >> > > > > 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 <[hidden email]>: >> > > > > > > >> > > > > > > > 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 < >> > > > > > > > [hidden email]> >> > > > > > > > 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 < >> > > [hidden email]> >> > > > > > > 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 < >> > > > > > > [hidden email]> >> > > > > > > > > > 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 >> [hidden email] >> > > : >> > > > > > > > > > > >> > > > > > > > > > > > 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 < >> > > > > > > > > [hidden email] >> > > > > > > > > > >: >> > > > > > > > > > > > >> > > > > > > > > > > > > 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" < >> > > > > > > > > [hidden email]> >> > > > > > > > > > > > > написал: >> > > > > > > > > > > > > >> > > > > > > > > > > > > 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 < >> > > > > [hidden email] >> > > > > > >: >> > > > > > > > > > > > > >> > > > > > > > > > > > > >> > > > > > > > > > > > > > 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 < >> > > > > > > > > [hidden email] >> > > > > > > > > > >: >> > > > > > > > > > > > > > >> > > > > > > > > > > > > >> 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 < >> > > > > > > > [hidden email] >> > > > > > > > > >: >> > > > > > > > > > > > > >> > >> > > > > > > > > > > > > >> > 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 >> < >> > > > > > > [hidden email] >> > > > > > > > >: >> > > > > > > > > > > > > >> > >> > > > > > > > > > > > > >> > > Dmitrii, >> > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > >> > > Could you please explain the reason of >> explicit >> > > set >> > > > > of >> > > > > > > > 100+ >> > > > > > > > > > > > > >> > > NoOpFailureHandlers? >> > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii Ryabov >> < >> > > > > > > > > > > [hidden email] >> > > > > > > > > > > > >: >> > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > >> > > > 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 >> > |
In reply to this post by Anton Vinogradov-2
Anton, I disagree with this approach: "You will ask, other will provide
explanations/excuses/apology and so on". Since you rejecting to chime in and help this means trying to manage instead of doing. I don't ask you to re-do this change, I ask to demonstrate any better approach for tests which intentionally activate failure handler. I think the only option is NoOp - we see this approach here. Just take 1 test and prove your concept using any other option. If we don't have other options, there is nothing to discuss why it is NoOp for 100 tests. ср, 5 дек. 2018 г. в 15:38, Anton Vinogradov <[hidden email]>: > Dmitriy Pavlov, Dmitrii Ryabov, > > >> Anton, there is no reason to revert other's contributions because you > know > >> how to do things better. > > What I see is "We replaced no-op with the proper handler, but ..... 100+ > no-op still here because tests start failing :)" > That's a completely different situation. > And it's unacceptable to merge not a finished solution. > > A proper explanation of problems why these tests have to have no-op handler > still required. > > Once proper explanation will be provided we will be able to decide is it ok > or no. > Explanation lack means commit rollback and issue reopening and there is > nothing to discuss. > > Please provide at least some examples with the following template > Test XXX required no-op handler because of YYY > and we will agree or will try to find a better solution. > > On Wed, Dec 5, 2018 at 3:20 PM Павлухин Иван <[hidden email]> 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 <[hidden email]>: > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > 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 <[hidden email]>: > > > > > > > > > > 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 <[hidden email]> > > > > 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 <[hidden email]>: > > > > > > > > > > > > > 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 < > > [hidden email]> > > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > 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 < > > > > [hidden email]> > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > > > > 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 > > [hidden email] > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > > explicit > > > > set > > > > > > of > > > > > > > > > 100+ > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > Ryabov < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > 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 > > > |
In reply to this post by Eduard Shangareev
>> 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 < [hidden email]> 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 Павлухин Иван <[hidden email]> 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 <[hidden email]>: > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > 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 <[hidden email]>: > > > > > > > > > > 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 <[hidden email]> > > > > 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 <[hidden email]>: > > > > > > > > > > > > > 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 < > > [hidden email]> > > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > 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 < > > > > [hidden email]> > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > > > > 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 > > [hidden email] > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > > explicit > > > > set > > > > > > of > > > > > > > > > 100+ > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > Ryabov < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > > 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 > > > |
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 <[hidden email]>: > >> 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 < > [hidden email]> 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 Павлухин Иван <[hidden email]> > 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 <[hidden email]>: > > > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > 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 < > [hidden email]> > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 < > [hidden email] > > >: > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email]> > > > > > > > > > > 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 < > > > > > [hidden email]> > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 > > > [hidden email] > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > > > explicit > > > > > set > > > > > > > of > > > > > > > > > > 100+ > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > > Ryabov < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > > 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 > > > > > > |
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 <[hidden email]> 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 <[hidden email]>: > > > >> 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 < > > [hidden email]> 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 Павлухин Иван <[hidden email]> > > 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 <[hidden email]>: > > > > > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > 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 < > > [hidden email]> > > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > > 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 < > > > > [hidden email]> > > > > > > > > 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 < > > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > 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 < > > > > > > [hidden email]> > > > > > > > > > > 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 < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 > > > > [hidden email] > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > Could you please explain the reason of > > > > explicit > > > > > > set > > > > > > > > of > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > > > Ryabov < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > > 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 > > > > > > > > > > |
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]>: > > > > > >> 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 < > > > [hidden email]> 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 Павлухин Иван <[hidden email]> > > > 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 <[hidden email]>: > > > > > > > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 < > [hidden email] > > >: > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email]> > > > > > > > > > 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 < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > > > > > [hidden email] > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the reason > of > > > > > explicit > > > > > > > set > > > > > > > > > of > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > > > > Ryabov < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > 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 |
In reply to this post by Anton Vinogradov-2
Anton,
I really like your perfectionism. But why should we make all things perfect in a single fix? The change you want to roll back is definitely useful for the project: the majority of our tests do not hide potential bugs under no-op handler anymore, and the small number of tests require additional thorough investigation. So, the change looks complete for me. And of course we are to file a separate ticket regarding those 100+ tests you mentioned and work on it without rushing. ср, 5 дек. 2018 г. в 16:41, Anton Vinogradov <[hidden email]>: > 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 <[hidden email]> 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 <[hidden email]>: > > > > > >> 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 < > > > [hidden email]> 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 Павлухин Иван <[hidden email]> > > > 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 <[hidden email]>: > > > > > > > > > > > > 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, Павлухин Иван <[hidden email]>: > > > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 < > [hidden email] > > >: > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email]> > > > > > > > > > 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 < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > > > > > [hidden email] > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the reason > of > > > > > explicit > > > > > > > set > > > > > > > > > of > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, Dmitrii > > > > Ryabov < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > > 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 Kuznetsov. |
In reply to this post by Andrew Mashenkov
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 <[hidden email]> 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 <[hidden email]> 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 <[hidden email]> > 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 <[hidden email]>: > > > > > > > >> 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 < > > > > [hidden email]> 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 Павлухин Иван <[hidden email]> > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > 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, Павлухин Иван <[hidden email] > >: > > > > > > > > > > > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > > > 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 < > > > > [hidden email]> > > > > > > > > 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 < > > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > [hidden email]> > > > > > > > > > > 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 < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 > < > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 > < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > 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 > > > > > > [hidden email] > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the > reason > > of > > > > > > explicit > > > > > > > > set > > > > > > > > > > of > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, > Dmitrii > > > > > Ryabov < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > > 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 > |
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 <[hidden email]>: > 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 < > [hidden email]> > 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 <[hidden email]> 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 <[hidden email]> > > 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 <[hidden email]>: > > > > > > > > > >> 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 < > > > > > [hidden email]> 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 Павлухин Иван < > [hidden email]> > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > 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, Павлухин Иван < > [hidden email] > > >: > > > > > > > > > > > > > > > > > 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 < > [hidden email] > > >: > > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email]> > > > > > > > > > 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 < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > < > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > > < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 > > < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > 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 > > > > > > > [hidden email] > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the > > reason > > > of > > > > > > > explicit > > > > > > > > > set > > > > > > > > > > > of > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, > > Dmitrii > > > > > > Ryabov < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > > 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 > > > |
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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 < > > [hidden email]> > > 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 <[hidden email]> 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 <[hidden email]> > > > 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 <[hidden email]>: > > > > > > > > > > > >> 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 < > > > > > > [hidden email]> 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 Павлухин Иван < > > [hidden email]> > > > > > > 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 < > [hidden email] > > >: > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > 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 < > > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > [hidden email]> > > > > > > > > > > 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 < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > 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 > > > > > > > > [hidden email] > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the > > > reason > > > > of > > > > > > > > explicit > > > > > > > > > > set > > > > > > > > > > > > of > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, > > > Dmitrii > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. |
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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 < > > > [hidden email]> > > > 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 <[hidden email]> > 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 <[hidden email]> > > > > 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 <[hidden email]>: > > > > > > > > > > > > > >> 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 < > > > > > > > [hidden email]> 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 Павлухин Иван < > > > [hidden email]> > > > > > > > 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 < > > [hidden email] > > > >: > > > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > 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 < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > [hidden email]> > > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > [hidden email] > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain the > > > > reason > > > > > of > > > > > > > > > explicit > > > > > > > > > > > set > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в 19:12, > > > > Dmitrii > > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. > |
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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > 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 < > > > > [hidden email]> > > > > 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 <[hidden email]> > > 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 < > [hidden email]> > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > >> 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 < > > > > > > > > [hidden email]> 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 Павлухин Иван < > > > > [hidden email]> > > > > > > > > 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 < > > > [hidden email] > > > > >: > > > > > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > > > > > > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > < > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > [hidden email] > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > < > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain > the > > > > > reason > > > > > > of > > > > > > > > > > explicit > > > > > > > > > > > > set > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в > 19:12, > > > > > Dmitrii > > > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. > > > |
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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > 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 <[hidden email]>: > > > > > > > > > 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 < > > > > > [hidden email]> > > > > > 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 <[hidden email]> > > > 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 < > > [hidden email]> > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > [hidden email]> 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 Павлухин Иван < > > > > > [hidden email]> > > > > > > > > > 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 < > > > > [hidden email] > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 < > > > > > > > [hidden email] > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > 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 > > < > > > > > > > > > [hidden email] > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > < > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > < > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > < > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please explain > > the > > > > > > reason > > > > > > > of > > > > > > > > > > > explicit > > > > > > > > > > > > > set > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в > > 19:12, > > > > > > Dmitrii > > > > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. > > > > > > |
> 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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > 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 <[hidden email]>: > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > 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 < > > > > > > [hidden email]> > > > > > > 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 <[hidden email] > > > > > > 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 < > > > [hidden email]> > > > > > > > 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 <[hidden email] > >: > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > [hidden email]> 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 Павлухин Иван < > > > > > > [hidden email]> > > > > > > > > > > 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 < > > > > > [hidden email] > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > [hidden email] > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > 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 > < > > > > > > > > [hidden email] > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > 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 > > > < > > > > > > > > > > [hidden email] > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > 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 > > > > > > > < > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > 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 > > > > > > > < > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > < > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > 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 < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please > explain > > > the > > > > > > > reason > > > > > > > > of > > > > > > > > > > > > explicit > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в > > > 19:12, > > > > > > > Dmitrii > > > > > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > >: > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. > > > > > > > > > > |
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 <[hidden email]>: > > 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 <[hidden email]>: > >> 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 <[hidden email]>: >> >> > 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 <[hidden email]>: >> > >> > > 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 <[hidden email]>: >> > > >> > > > 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 <[hidden email]>: >> > > > >> > > > > 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 <[hidden email]>: >> > > > > >> > > > > > 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 < >> > > > > > [hidden email]> >> > > > > > 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 < >> [hidden email]> >> > > > 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 < >> > > [hidden email]> >> > > > > > > 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 <[hidden email] >> >: >> > > > > > > > > >> > > > > > > > > > >> 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 < >> > > > > > > > > > [hidden email]> 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 Павлухин Иван < >> > > > > > [hidden email]> >> > > > > > > > > > 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 < >> > > > > [hidden email] >> > > > > > >: >> > > > > > > > > > > > > >> > > > > > > > > > > > > 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, Павлухин Иван < >> > > > > > [hidden email] >> > > > > > > >: >> > > > > > > > > > > > > >> > > > > > > > > > > > > > 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 < >> > > > > > [hidden email] >> > > > > > > >: >> > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > 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 >> < >> > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > 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 < >> > > > > > > > [hidden email] >> > > > > > > > > >: >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > 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 < >> > > > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > > > 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 >> > > < >> > > > > > > > > > [hidden email] >> > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > 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 >> > > > > > < >> > > > > > > > > > > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > > > > > > 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 >> > > > > > > < >> > > > > > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > > > > > 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 >> > > > > > > < >> > > > > > > > > > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > > > > > > > > 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 >> > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > : >> > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > 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 >> > > > > > > < >> > > > > > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > 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" < >> > > > > > > > > > > > > > > > > > > > [hidden email]> >> > > > > > > > > > > > > > > > > > > > > > > > написал: >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > 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 >> > > > > > > > > < >> > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > 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 >> > > > > > > > > < >> > > > > > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> 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 < >> > > > > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > > > > > > > > > > >> > 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 < >> > > > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > > >> > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please >> explain >> > > the >> > > > > > > reason >> > > > > > > > of >> > > > > > > > > > > > explicit >> > > > > > > > > > > > > > set >> > > > > > > > > > > > > > > > of >> > > > > > > > > > > > > > > > > > > 100+ >> > > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в >> > > 19:12, >> > > > > > > Dmitrii >> > > > > > > > > > > Ryabov < >> > > > > > > > > > > > > > > > > > > > > > [hidden email] >> > > > > > > > > > > > > > > > > > > > > > > >: >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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. >> > > > >> > > >> > >> > |
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 <[hidden email]>: > > 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 <[hidden email]>: > > > > 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 <[hidden email]>: > > > >> 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 <[hidden email]>: > >> > >> > 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 <[hidden email]>: > >> > > >> > > 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 <[hidden email]>: > >> > > > >> > > > 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 <[hidden email]>: > >> > > > > >> > > > > 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 <[hidden email]>: > >> > > > > > >> > > > > > 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 < > >> > > > > > [hidden email]> > >> > > > > > 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 < > >> [hidden email]> > >> > > > 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 < > >> > > [hidden email]> > >> > > > > > > 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 <[hidden email] > >> >: > >> > > > > > > > > > >> > > > > > > > > > >> 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 < > >> > > > > > > > > > [hidden email]> 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 Павлухин Иван < > >> > > > > > [hidden email]> > >> > > > > > > > > > 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 < > >> > > > > [hidden email] > >> > > > > > >: > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > 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, Павлухин Иван < > >> > > > > > [hidden email] > >> > > > > > > >: > >> > > > > > > > > > > > > > >> > > > > > > > > > > > > > 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 < > >> > > > > > [hidden email] > >> > > > > > > >: > >> > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > 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 > >> < > >> > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > 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 < > >> > > > > > > > [hidden email] > >> > > > > > > > > >: > >> > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > 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 < > >> > > > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > > > 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 > >> > > < > >> > > > > > > > > > [hidden email] > >> > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > 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 > >> > > > > > < > >> > > > > > > > > > > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > > > > > > 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 > >> > > > > > > < > >> > > > > > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > > > > > 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 > >> > > > > > > < > >> > > > > > > > > > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > > > > > > > > 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 > >> > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > : > >> > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > 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 > >> > > > > > > < > >> > > > > > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > 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" < > >> > > > > > > > > > > > > > > > > > > > [hidden email]> > >> > > > > > > > > > > > > > > > > > > > > > > > написал: > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > 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 > >> > > > > > > > > < > >> > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > > 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 > >> > > > > > > > > < > >> > > > > > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> 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 < > >> > > > > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > 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 < > >> > > > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Dmitrii, > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > Could you please > >> explain > >> > > the > >> > > > > > > reason > >> > > > > > > > of > >> > > > > > > > > > > > explicit > >> > > > > > > > > > > > > > set > >> > > > > > > > > > > > > > > > of > >> > > > > > > > > > > > > > > > > > > 100+ > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > NoOpFailureHandlers? > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > вт, 4 дек. 2018 г. в > >> > > 19:12, > >> > > > > > > Dmitrii > >> > > > > > > > > > > Ryabov < > >> > > > > > > > > > > > > > > > > > > > > > [hidden email] > >> > > > > > > > > > > > > > > > > > > > > > > >: > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > >> > > > > > > > > > > > > > > > > > > > > > > > >> > > > 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 |
Ivan.
> 1. Accept the patch and bring an improvement to Ignite (and create a> ticket for further investigation). I support this idea. Do we create the tickets already? > Nikolay's patch [1] suggests a slightly different approach how to the > same thing. And implementing that idea looks like a cheap refactoring. I don't agree with your term "cheap". Do you think reducing copy paste code not worth it? I see a hundreds issues that bring copypasted code in the product(Ignite and others). I insist, that we shouldn't accept patches with it. I'm here to blame the author. I want to improve this patch and make it easier to find all places with NoOp handler to do the further investigation. В Чт, 06/12/2018 в 10:19 +0300, Павлухин Иван пишет: > 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 <[hidden email]>: > > > > 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 <[hidden email]>: > > > > > > 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 <[hidden email]>: > > > > > > > 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 <[hidden email]>: > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > 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 <[hidden email]>: > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > [hidden email]> > > > > > > > > > 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 < > > > > > > > > [hidden email]> > > > > > > > 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 < > > > > > > > > > > > > [hidden email]> > > > > > > > > > > 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 <[hidden email] > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > [hidden email]> 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 Павлухин Иван < > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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, Павлухин Иван < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > < > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > 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 > > > > > > < > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > < > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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" < > > > > > > > > > > > > > > > > > > > > > > > [hidden email]> > > > > > > > > > > > > > > > > > > > > > > > > > > > написал: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > > > > > > > > > > < > > > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 < > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Dmitrii, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Could you please > > > > > > > > explain > > > > > > the > > > > > > > > > > reason > > > > > > > > > > > of > > > > > > > > > > > > > > > explicit > > > > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > > > > of > > > > > > > > > > > > > > > > > > > > > > 100+ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > NoOpFailureHandlers? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > вт, 4 дек. 2018 г. в > > > > > > > > > > > > 19:12, > > > > > > > > > > Dmitrii > > > > > > > > > > > > > > Ryabov < > > > > > > > > > > > > > > > > > > > > > > > > > [hidden email] > > > > > > > > > > > > > > > > > > > > > > > > > > > : > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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. > > > > > > > > > > |
Free forum by Nabble | Edit this page |