I see, thanks!

> On 26 Nov 2018, at 11:46, Roman Kondakov <[email protected]> wrote:
> 
> Hi, Petr!
> 
> Actually these tests do not behave exactly as one test, but they behave 
> mostly as one test. Often this is expressed in the following: we have a 
> feature to test (i.e. transaction isolation) and different sets of parameters 
> to be tested with this feature: cache mode, backups number, cluster size, 
> persistence enabled/disabled, etc. And we have a list of tests with different 
> combinations of these parameters:
> 
> testTxIsolation(Replicated, 0 backups, 1 severs 0 clients,   persistence 
> disabled)
> testTxIsolation(Replicated, 0 backups, 2 severs 1 clients,   persistence 
> disabled)
> testTxIsolation(Replicated, 0 backups, 4 severs 2 clients,   persistence 
> disabled)
> testTxIsolation(Replicated, 0 backups, 1 severs 0 clients,   persistence 
> enabled)
> testTxIsolation(Replicated, 0 backups, 2 severs 1 clients,   persistence 
> enabled)
> testTxIsolation(Replicated, 0 backups, 4 severs 2 clients,   persistence 
> enabled)
> testTxIsolation(Partitioned, 0 backups, 1 severs 0 clients,   persistence 
> disabled)
> testTxIsolation(Partitioned, 1 backups, 2 severs 1 clients,   persistence 
> disabled)
> testTxIsolation(Partitioned, 2 backups, 4 severs 2 clients,   persistence 
> disabled)
> testTxIsolation(Partitioned, 0 backups, 1 severs 0 clients,   persistence 
> enabled)
> testTxIsolation(Partitioned, 1 backups, 2 severs 1 clients,   persistence 
> enabled)
> testTxIsolation(Partitioned, 2 backups, 4 severs 2 clients,   persistence 
> enabled)
> 
> Each test in this list represents a special case which should be tested. If  
> the key functionality of Tx isolation is broken by  developer - all tests 
> will be failed. But there are a very rare cases when only a subset of this 
> tests is failed when others are green. In my opinion for "fast" runs we 
> should trigger only one or two tests from this group - it should be enough to 
> detect the most of bugs. But for night runs, of course, all cases should be 
> checked.
> 
> -- 
> Kind Regards
> Roman Kondakov
> 
> On 26.11.2018 11:11, Petr Ivanov wrote:
>> Hi, Roman.
>> 
>>> On 25 Nov 2018, at 21:26, Roman Kondakov <[email protected]> wrote:
>>> 
>>> Hi Dmitriy!
>>> 
>>> We have over 50 000 test in our tests base. And this number will be 
>>> noticeably increased soon by MVCC tests coverage activity. This means that 
>>> it is very difficult to rework and rewrite these test manually to make it 
>>> run faster. But we can choose another way. Do we have an ability to perform 
>>> a statistical analysis over a considerable number of last tests runs? If we 
>>> do, let's consider two points:
>>> 
>>> 1. After careful consideration in terms of statistics it may turnout that 
>>> significant number of these test are "evergreen" tests. It means that these 
>>> tests check cases which are very difficult to break. If so, why should we 
>>> run these tests each time? They are great candidates for night runs.
>>> 
>>> 2. After dropping "evergreen" tests there are may be a number of tests with 
>>> correlated results. There could be a lot of test groups with a some number 
>>> of tests in each group, where either all tests are red or all tests are 
>>> green. In this case in "fast" runs we can launch only one test from each 
>>> group instead of entire group. Other tests in group can be launched at 
>>> night build.
>> What’s the point of having all this tests if they behave as one and will 
>> never fail exclusively?
>> Maybe such tests require optimisation and shrinking into one?
>> 
>> 
>>> 
>>> Having a list of "good" tests (good tests = all tests - evergreen tests - 
>>> groups (except chosen represenative from each group)), we can mark these 
>>> tests with annotation @Category (or @Tag in junit 5). For fast tests runs 
>>> we can run only annotated tests, for night runs - all tests as usual.
>>> 
>>> When new test is added developers could decide to add or not to add this 
>>> annotation.
>>> 
>>> Annotated tests list should be reviewed monthly or weekly. Or, if possible, 
>>> automate this procedure.
>>> 
>>> 
>>> -- 
>>> Kind Regards
>>> Roman Kondakov
>>> 
>>> On 15.11.2018 13:34, Dmitriy Pavlov wrote:
>>>> Hi Igniters,
>>>> 
>>>> 
>>>> 
>>>> Some of us started to use the Bot to get an approval of PRs. It helps to
>>>> protect master from new failures, but this requires to run RunAll tests set
>>>> for each commit and this makes markable pressure to TC infra.
>>>> 
>>>> 
>>>> 
>>>> I would like to ask you to share your ideas on how to make runAll faster,
>>>> maybe you can share any of your measurements and any other info about
>>>> (possible) bottlenecks.
>>>> 
>>>> 
>>>> 
>>>> Sincerely,
>>>> 
>>>> Dmitriy Pavlov
>>>> 

Reply via email to