Looks good for me, please merge.

19 мар. 2018 г. 3:22 ПП пользователь "Dmitry Pavlov" <dpavlov....@gmail.com>
написал:

> I agree it is important, I'm going to do a review, but do not have time
> slot to do.
>
> Who could pick up this review?
>
> Dmitriy G., could I ask you?
>
> пн, 19 мар. 2018 г. в 15:13, Maxim Muzafarov <maxmu...@gmail.com>:
>
>> Dmitry and other igniters,
>>
>> Will you have time to review this issue?
>> I've preperated PR and TC for this, also I've fixed all comments made by
>> Andrey Kuznetsov and Vyacheslav Daradur.
>>
>> I think this is important issue and will make test framework more stable
>> and clear.
>>
>>
>> TC: https://ci.ignite.apache.org/viewLog.html?buildId=1138151
>> JIRA: https://issues.apache.org/jira/browse/IGNITE-6842
>> Upsource: https://reviews.ignite.apache.org/ignite/review/IGNT-CR-502
>> PR: https://github.com/apache/ignite/pull/3542
>>
>> чт, 15 мар. 2018 г. в 13:31, Maxim Muzafarov <maxmu...@gmail.com>:
>>
>>> Dmtry,
>>>
>>> Can we proceed with this change?
>>> I've done with fixing review comments and tests that you mentioned
>>> before.
>>>
>>> TC: https://ci.ignite.apache.org/viewLog.html?buildId=1138151
>>> JIRA: https://issues.apache.org/jira/browse/IGNITE-6842
>>> Upsource: https://reviews.ignite.apache.org/ignite/review/IGNT-CR-502
>>> PR: https://github.com/apache/ignite/pull/3542
>>>
>>>
>>>
>>> вт, 6 мар. 2018 г. в 20:42, Dmitry Pavlov <dpavlov....@gmail.com>:
>>>
>>>> Ok, thank you.
>>>>
>>>> Please let me know when we can proceed with review
>>>> https://reviews.ignite.apache.org/ignite/review/IGNT-CR-502
>>>>
>>>>
>>>> вт, 6 мар. 2018 г. в 20:17, Maxim Muzafarov <maxmu...@gmail.com>:
>>>>
>>>> > Hello Dmitry,
>>>> >
>>>> > Yes, I've updated test classes as you metioned before.
>>>> > Now i'm fixing review comments. Within next few days I'll prepare
>>>> final
>>>> > version of this PR.
>>>> >
>>>> > вт, 6 мар. 2018 г. в 20:12, Dmitry Pavlov <dpavlov....@gmail.com>:
>>>> >
>>>> > > Hi Maxim,
>>>> > >
>>>> > > are there any news on these test fails?
>>>> > >
>>>> > > Is issue ready for review?
>>>> > >
>>>> > > Sincerely,
>>>> > > Dmitiry Pavlov
>>>> > >
>>>> > > вт, 27 февр. 2018 г. в 17:12, Dmitry Pavlov <dpavlov....@gmail.com
>>>> >:
>>>> > >
>>>> > > > Hi, thank you!
>>>> > > >
>>>> > > > I've found several suspicious fails: such test fails have rate
>>>> less
>>>> > than
>>>> > > > 1%, it is probably new failures.
>>>> > > >
>>>> > > > It would be great if we can fix it before merge. Could you
>>>> address this
>>>> > > > fails?
>>>> > > >
>>>> > > > Sincerely,
>>>> > > > Dmitriy Pavlov
>>>> > > >
>>>> > > > IgniteCacheTestSuite5: IgniteCacheStoreCollectionTest
>>>> .testStoreMap
>>>> > (fail
>>>> > > > rate 0,0%)
>>>> > > > IgniteCacheTestSuite5:
>>>> > > > CacheLateAffinityAssignmentTest.testDelayAssignmentClientJoin
>>>> (fail
>>>> > rate
>>>> > > > 0,0%)
>>>> > > > IgniteCacheWithIndexingTestSuite:
>>>> > > > CacheRandomOperationsMultithreadedTest.testAtomicOffheapEviction
>>>> (fail
>>>> > > rate
>>>> > > > 0,0%)
>>>> > > > IgniteCacheWithIndexingTestSuite:
>>>> > > >
>>>> > CacheRandomOperationsMultithreadedTest.testAtomicOffheapEvictionIndex
>>>> ing
>>>> > > > (fail rate 0,0%)
>>>> > > > IgniteCacheWithIndexingTestSuite:
>>>> > > > CacheRandomOperationsMultithreadedTest.testTxOffheapEviction
>>>> (fail rate
>>>> > > > 0,0%)
>>>> > > > IgniteCacheWithIndexingTestSuite:
>>>> > > > CacheRandomOperationsMultithreadedTest.
>>>> testTxOffheapEvictionIndexing
>>>> > > (fail
>>>> > > > rate 0,0%)
>>>> > > >
>>>> > > > IgniteBinarySimpleNameMapperCacheFullApiTestSuite:
>>>> > > >
>>>> > >
>>>> > GridCachePartitionedNearDisabledMultiNodeWithGroupFullApiSel
>>>> fTest.testWithSkipStoreTx
>>>> > > > (fail rate 0,0%)
>>>> > > >
>>>> > > > вт, 27 февр. 2018 г. в 17:04, Maxim Muzafarov <maxmu...@gmail.com
>>>> >:
>>>> > > >
>>>> > > >> Yep, link may not be correct.
>>>> > > >>
>>>> > > >> Here is correct version:
>>>> > > >> TC: *
>>>> > > >>
>>>> > >
>>>> > https://ci.ignite.apache.org/project.html?projectId=
>>>> IgniteTests24Java8&branch_IgniteTests24Java8=pull%2F3542%2Fhead
>>>> > > >> <
>>>> > > >>
>>>> > >
>>>> > https://ci.ignite.apache.org/project.html?projectId=
>>>> IgniteTests24Java8&branch_IgniteTests24Java8=pull%2F3542%2Fhead
>>>> > > >> >*
>>>> > > >>
>>>> > > >>
>>>> > > >> вт, 27 февр. 2018 г. в 16:41, Dmitry Pavlov <
>>>> dpavlov....@gmail.com>:
>>>> > > >>
>>>> > > >> > Hi Maxim,
>>>> > > >> >
>>>> > > >> > could you please provide link to TC run on your PR? It seems
>>>> link
>>>> > > >> provided
>>>> > > >> > points to run of master. In changes field you may select
>>>> > > pull/3542/head
>>>> > > >> > before starting RunAll.
>>>> > > >> >
>>>> > > >> > Igniters,
>>>> > > >> >
>>>> > > >> > this change is related to our test framework, so change may
>>>> affect
>>>> > > your
>>>> > > >> > tests. Please join to review
>>>> > > >> > https://reviews.ignite.apache.org/ignite/review/IGNT-CR-502
>>>> > > >> >
>>>> > > >> > Sincerely,
>>>> > > >> > Dmitriy Pavlov
>>>> > > >> >
>>>> > > >> > вт, 27 февр. 2018 г. в 16:14, Maxim Muzafarov <
>>>> maxmu...@gmail.com>:
>>>> > > >> >
>>>> > > >> > > Hi all,
>>>> > > >> > >
>>>> > > >> > > I think, I've done with this issue, what should we do next?
>>>> > > >> > >
>>>> > > >> > > PR: https://github.com/apache/ignite/pull/3542
>>>> > > >> > > Upsource:
>>>> > > https://reviews.ignite.apache.org/ignite/review/IGNT-CR-502
>>>> > > >> > > TC:
>>>> > > >> > >
>>>> > > >> > >
>>>> > > >> >
>>>> > > >>
>>>> > >
>>>> > https://ci.ignite.apache.org/viewModification.html?modId=
>>>> 723895&personal=false&buildTypeId=&tab=vcsModificationTests
>>>> > > >> > > JIRA: https://issues.apache.org/jira/browse/IGNITE-6842
>>>> > > >> > >
>>>> > > >> > >
>>>> > > >> > > чт, 22 февр. 2018 г. в 14:12, Dmitry Pavlov <
>>>> > dpavlov....@gmail.com
>>>> > > >:
>>>> > > >> > >
>>>> > > >> > > > Hi Maxim,
>>>> > > >> > > >
>>>> > > >> > > > Thank you.
>>>> > > >> > > >
>>>> > > >> > > > To my mind stopAllGrids call should be kept in
>>>> afterTestsStop().
>>>> > > If
>>>> > > >> > > > developer forgot to call super(), he will see exception
>>>> from
>>>> > > >> > > > beforeTestsStart()
>>>> > > >> > > > added by you.
>>>> > > >> > > >
>>>> > > >> > > > If you think patch is ready to be reviewed, please change
>>>> JIRA
>>>> > > >> status
>>>> > > >> > to
>>>> > > >> > > > "Patch Available".
>>>> > > >> > > >
>>>> > > >> > > > Optionally you can create Upsource review. It would be
>>>> easier
>>>> > for
>>>> > > >> > > multiple
>>>> > > >> > > > reviewers to handle this patch. This test framework is
>>>> used by
>>>> > all
>>>> > > >> > > Igniters
>>>> > > >> > > > so Upsource would be good option (
>>>> > > >> https://reviews.ignite.apache.org/
>>>> > > >> > ).
>>>> > > >> > > >
>>>> > > >> > > > Sincerely,
>>>> > > >> > > > Dmitriy Pavlov
>>>> > > >> > > >
>>>> > > >> > > > чт, 22 февр. 2018 г. в 13:44, Maxim Muzafarov <
>>>> > maxmu...@gmail.com
>>>> > > >:
>>>> > > >> > > >
>>>> > > >> > > > > Hi all,
>>>> > > >> > > > >
>>>> > > >> > > > > I've made some changes based on our previous
>>>> discusstions,
>>>> > > please
>>>> > > >> see
>>>> > > >> > > PR
>>>> > > >> > > > > [1]:
>>>> > > >> > > > > 1) Remove duplicated code for stopGrid (by index and by
>>>> name);
>>>> > > >> > > > > 2) Add new method that thows exception if not all grids
>>>> > haven't
>>>> > > >> > stopped
>>>> > > >> > > > > correctly;
>>>> > > >> > > > > 3)  Change tests that have been affected by this changes;
>>>> > > >> > > > >
>>>> > > >> > > > > Also, I have some thoughts for clarification:
>>>> > > >> > > > > 1) beforeTestsStart() - I expect here in subtests that
>>>> grids
>>>> > are
>>>> > > >> not
>>>> > > >> > > > > started yet. Am I right?
>>>> > > >> > > > > 2) I think we should call stopAllGrids in tearDown
>>>> method. So,
>>>> > > if
>>>> > > >> in
>>>> > > >> > > some
>>>> > > >> > > > > cases we'll override afterTestsStop in subclasses and
>>>> forgot
>>>> > to
>>>> > > >> call
>>>> > > >> > > > > super() it won't lead us to exception.
>>>> > > >> > > > >
>>>> > > >> > > > > [1] https://github.com/apache/ignite/pull/3542
>>>> > > >> > > > > [2]
>>>> > > >> https://ci.ignite.apache.org/viewModification.html?modId=717275
>>>> > > >> > > > > [3] https://issues.apache.org/jira/browse/IGNITE-6842
>>>> > > >> > > > >
>>>> > > >> > > > >
>>>> > > >> > > > > ср, 7 февр. 2018 г. в 18:28, Maxim Muzafarov <
>>>> > > maxmu...@gmail.com
>>>> > > >> >:
>>>> > > >> > > > >
>>>> > > >> > > > > > Thank you all,
>>>> > > >> > > > > >
>>>> > > >> > > > > > I'll add this comment's for JIRA ticket, if you don't
>>>> mind.
>>>> > > >> > > > > >
>>>> > > >> > > > > > ср, 7 февр. 2018 г. в 15:16, Dmitry Pavlov <
>>>> > > >> dpavlov....@gmail.com
>>>> > > >> > >:
>>>> > > >> > > > > >
>>>> > > >> > > > > >> Yes, this solution allows to cover both cases:
>>>> > > >> > > > > >> a) not stopped node from previous test and
>>>> > > >> > > > > >> b) allows to remove useless code that stops Ignite
>>>> nodes
>>>> > from
>>>> > > >> each
>>>> > > >> > > > test.
>>>> > > >> > > > > >>
>>>> > > >> > > > > >> ср, 7 февр. 2018 г. в 15:13, Anton Vinogradov <
>>>> > > >> > > > avinogra...@gridgain.com
>>>> > > >> > > > > >:
>>>> > > >> > > > > >>
>>>> > > >> > > > > >> > Maxim,
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> > We discussed with Dima privately, and decided
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> > 1) We have to assert that there is no alive nodes at
>>>> > > >> > > > > GridAbstractTest's
>>>> > > >> > > > > >> > beforeTestsStarted
>>>> > > >> > > > > >> > 2) We have to kill all alive nodes (without force)
>>>> at
>>>> > > >> > > > > GridAbstractTest's
>>>> > > >> > > > > >> > afterTestsStopped
>>>> > > >> > > > > >> > 3) In case of any exceptions at #2 we have to see
>>>> test
>>>> > > error
>>>> > > >> > > > > >> > 4) We can get rid of all useless stopAllGrids at
>>>> > > >> > > GridAbstractTest's
>>>> > > >> > > > > >> > subclasses.
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> > On Wed, Feb 7, 2018 at 2:32 PM, Dmitry Pavlov <
>>>> > > >> > > > dpavlov....@gmail.com>
>>>> > > >> > > > > >> > wrote:
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >> > > > Let's just add stopAllGrids(flase) to
>>>> > GridAbstractTest
>>>> > > 's
>>>> > > >> > > > > >> > > afterTestsStopped
>>>> > > >> > > > > >> > > method body.
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> > > Can't agree with it becase implicit silent
>>>> shutdown of
>>>> > > >> nodes
>>>> > > >> > > from
>>>> > > >> > > > > test
>>>> > > >> > > > > >> > > framework may cause a lot of bugs introduced to
>>>> Ignite.
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> > > I think stop+test fail should occur.
>>>> > > >> > > > > >> > > In that case author of incorrect test or not
>>>> consistent
>>>> > > >> Ignite
>>>> > > >> > > > > >> shutdown
>>>> > > >> > > > > >> > > will see problem.
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> > > 'Fail fast' if always better than hidding real
>>>> problem
>>>> > > >> under
>>>> > > >> > > > > automatic
>>>> > > >> > > > > >> > > framework feature.
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> > > ср, 7 февр. 2018 г. в 14:05, Anton Vinogradov <
>>>> > > >> > > > > >> avinogra...@gridgain.com
>>>> > > >> > > > > >> > >:
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> > > > Hi all,
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > > I've made some research about this problem
>>>> and i
>>>> > > think
>>>> > > >> > that
>>>> > > >> > > in
>>>> > > >> > > > > >> > general
>>>> > > >> > > > > >> > > we
>>>> > > >> > > > > >> > > > > should move stopAllGrids method in
>>>> GridAbstractTest
>>>> > > >> class
>>>> > > >> > to
>>>> > > >> > > > > >> > > > > afterTestsStopped method with some changes.
>>>> Am I
>>>> > > right?
>>>> > > >> > > > > >> > > > Let's just add stopAllGrids(flase) to
>>>> > GridAbstractTest
>>>> > > 's
>>>> > > >> > > > > >> > > > afterTestsStopped method
>>>> > > >> > > > > >> > > > body.
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > > I have a question about stopAllGrids(boolean
>>>> > cancel)
>>>> > > >> this
>>>> > > >> > > > > "cancel"
>>>> > > >> > > > > >> > > > That's just a flag means "do not wait for any
>>>> > > operations
>>>> > > >> > > finish"
>>>> > > >> > > > > >> > > > See no reason to set it true in that case.
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > > If you delegate closing to afterTestsStopped
>>>> this
>>>> > > will
>>>> > > >> > > affect
>>>> > > >> > > > > only
>>>> > > >> > > > > >> > > > > last test (method).
>>>> > > >> > > > > >> > > > The idea is to stop all nodes at last test's
>>>> method
>>>> > > >> finish.
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > >  Nodes that survive between tests can affect
>>>> > > successive
>>>> > > >> > > > > >> > > > tests.
>>>> > > >> > > > > >> > > > Thats ok. we have a lot tests where nodes
>>>> reusable
>>>> > > >> between
>>>> > > >> > > > test's
>>>> > > >> > > > > >> > > methods.
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > On Wed, Feb 7, 2018 at 1:20 PM, Dmitry Pavlov <
>>>> > > >> > > > > >> dpavlov....@gmail.com>
>>>> > > >> > > > > >> > > > wrote:
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > > > > Hi Igniters,
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > IMO nodes that survive between tests is not
>>>> general
>>>> > > >> > practice
>>>> > > >> > > > and
>>>> > > >> > > > > >> I'm
>>>> > > >> > > > > >> > > not
>>>> > > >> > > > > >> > > > > sure is a best practice. I suggest to mark
>>>> such
>>>> > tests
>>>> > > >> with
>>>> > > >> > > > some
>>>> > > >> > > > > >> > method
>>>> > > >> > > > > >> > > > > overriden from AbstractTest.
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > About cancel flag, please note
>>>> stopAllGrids(boolean
>>>> > > >> > cancel)
>>>> > > >> > > > > >> > > cancel=false
>>>> > > >> > > > > >> > > > > allows to wait of checkpoint ends in case
>>>> > persistence
>>>> > > >> > > enabled.
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > I still suggest to avoid stopping any nodes by
>>>> > test,
>>>> > > >> but
>>>> > > >> > > > > validate
>>>> > > >> > > > > >> not
>>>> > > >> > > > > >> > > > > stopped node exist and fail test instead of
>>>> siltent
>>>> > > >> > implicit
>>>> > > >> > > > > >> actions.
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > Sincerely,
>>>> > > >> > > > > >> > > > > Dmitriy Pavlov
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > ср, 7 февр. 2018 г. в 13:04, Andrey Kuznetsov
>>>> <
>>>> > > >> > > > > stku...@gmail.com
>>>> > > >> > > > > >> >:
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > > > > Hi Maxim,
>>>> > > >> > > > > >> > > > > >
>>>> > > >> > > > > >> > > > > > Regarding your first question, the use of
>>>> > > >> > > afterTestsStopped
>>>> > > >> > > > is
>>>> > > >> > > > > >> not
>>>> > > >> > > > > >> > > > enough
>>>> > > >> > > > > >> > > > > > to stop all nodes, since each individual
>>>> test
>>>> > > >> (method)
>>>> > > >> > can
>>>> > > >> > > > > start
>>>> > > >> > > > > >> > > custom
>>>> > > >> > > > > >> > > > > set
>>>> > > >> > > > > >> > > > > > of notes during its operation, and this
>>>> very test
>>>> > > >> should
>>>> > > >> > > > stop
>>>> > > >> > > > > >> all
>>>> > > >> > > > > >> > > those
>>>> > > >> > > > > >> > > > > > nodes. If you delegate closing to
>>>> > afterTestsStopped
>>>> > > >> this
>>>> > > >> > > > will
>>>> > > >> > > > > >> > affect
>>>> > > >> > > > > >> > > > only
>>>> > > >> > > > > >> > > > > > last test (method). Nodes that survive
>>>> between
>>>> > > tests
>>>> > > >> can
>>>> > > >> > > > > affect
>>>> > > >> > > > > >> > > > > successive
>>>> > > >> > > > > >> > > > > > tests.
>>>> > > >> > > > > >> > > > > >
>>>> > > >> > > > > >> > > > > > 2018-02-07 1:10 GMT+03:00 Maxim Muzafarov <
>>>> > > >> > > > maxmu...@gmail.com
>>>> > > >> > > > > >:
>>>> > > >> > > > > >> > > > > >
>>>> > > >> > > > > >> > > > > > > Hello,
>>>> > > >> > > > > >> > > > > > >
>>>> > > >> > > > > >> > > > > > > I've made some research about this
>>>> problem and
>>>> > i
>>>> > > >> think
>>>> > > >> > > > that
>>>> > > >> > > > > in
>>>> > > >> > > > > >> > > > general
>>>> > > >> > > > > >> > > > > we
>>>> > > >> > > > > >> > > > > > > should move stopAllGrids method in
>>>> > > GridAbstractTest
>>>> > > >> > > class
>>>> > > >> > > > to
>>>> > > >> > > > > >> > > > > > > afterTestsStopped method with some
>>>> changes. Am
>>>> > I
>>>> > > >> > right?
>>>> > > >> > > > > >> > > > > > >
>>>> > > >> > > > > >> > > > > > > Also, I have a question about
>>>> > > stopAllGrids(boolean
>>>> > > >> > > cancel)
>>>> > > >> > > > > >> this
>>>> > > >> > > > > >> > > > > "cancel"
>>>> > > >> > > > > >> > > > > > > argument. Why in some cases we should
>>>> interrupt
>>>> > > >> > > ComputeJob
>>>> > > >> > > > > >> and in
>>>> > > >> > > > > >> > > > some
>>>> > > >> > > > > >> > > > > > > cases shouldn't? For example here:
>>>> > > >> > > > > >> > > > > > >
>>>> > > >> IgniteBaselineAffinityTopologyActivationTest#afterTest
>>>> > > >> > > > > >> > > > > > > we call method stopAllGrids(false) this
>>>> way.
>>>> > Why
>>>> > > >> not
>>>> > > >> > > > "true"
>>>> > > >> > > > > >> > > argument
>>>> > > >> > > > > >> > > > > > > instead?
>>>> > > >> > > > > >> > > > > > >
>>>> > > >> > > > > >> > > > > > >
>>>> > > >> > > > > >> > > > > > > --
>>>> > > >> > > > > >> > > > > > Best regards,
>>>> > > >> > > > > >> > > > > >   Andrey Kuznetsov.
>>>> > > >> > > > > >> > > > > >
>>>> > > >> > > > > >> > > > >
>>>> > > >> > > > > >> > > >
>>>> > > >> > > > > >> > >
>>>> > > >> > > > > >> >
>>>> > > >> > > > > >>
>>>> > > >> > > > > >
>>>> > > >> > > > >
>>>> > > >> > > >
>>>> > > >> > >
>>>> > > >> >
>>>> > > >>
>>>> > > >
>>>> > >
>>>> >
>>>>
>>>

Reply via email to