ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ozerov <voze...@gridgain.com>
Subject Re: MVCC test coverage.
Date Wed, 21 Nov 2018 19:37:30 GMT
Hi Andrey,

Thank you for bringing this question to the list. I already reviewed this
PR and it looks good to me. But I would like to hear more opinions from
other community members regarding the whole approach.

One important detail - we are going to create new suites as a child classes
of existing suites with irrelevant tests excluded manually. This way if a
new test is added to existing cache suite, it will be automatically added
to TC suite as well, and we will see potential MVCC issues in a nightly
build. This is critical thing to keep MVCC mode on par with “classical”
transactions.

I am not 100% happy with the fact that we will know about new failures only
after problematic commit is pushed. But I do not see how to improve it
without extending Run All time for another 30 hours. This will do more harm
than good. So proposed solution looks like a good pros-cons balance at the
moment.

Vladimir.



ср, 21 нояб. 2018 г. в 17:59, Andrey Mashenkov <andrey.mashenkov@gmail.com>:

> Hi Igniters,
>
> As you may already know, MVCC transaction feature will be available in
> upcoming Ignite-2.7.
> However, MVCC Tx feature is released for beta testing and has many
> limitations and we a going
> to improve stability and integrations with other features in future
> releases.
>
> We can reuse existed transactional cache tests and run them in Mvcc mode to
> get much better test coverage with small looses.
> Here is a ticket for this IGNITE-10001 [1].
>
> This mean we will have twice more "Cache Tests" and get TC runs some
> longer.
> To reduce new Mvcc cache suites impact and save TC time we are going to
> 1. Include new tests to nightly suite only, this will allow us to put our
> ears to the ground.
> 2. Exclude non-tx tests and non-relevant tx cases and aggressively mute
> tests for unsupported features integrations.
>
> I've implement a PR to one of  tasks [2] as an example how it can be done.
>
> Technical details:
> 1. Introduced a new FORCE_MVCC flag and created a child "Mvcc Cache 2"
> suite for "Cache 2" test suite with FORCE_MVCC flag on.
> 2. Implemented a hook that change TRANSACTIONAL cache atomicity mode to
> TRANSACTIONAL_SNAPSHOT if FORCE_MVCC flag turned on.
> This allow us to check MVCC mode without creating new test classes and
> minimal intervention in existed tests code.
> 3. All irrelevant tests marked as ignored in Mvcc suite.
> 4. Known unsupported cases are muted. New failures muted as well
> (corresponding tickets were created).
>
>
> Any pros\cons?
> Can someone please review a PR?
>
> [1] https://issues.apache.org/jira/browse/IGNITE-10001
> [2] https://issues.apache.org/jira/browse/IGNITE-10002
> --
> Best regards,
> Andrey V. Mashenkov
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message