[Tarantool-patches] [PATCH v1 0/4] test: stabilize testing with issue #5141
Kirill Yukhin
kyukhin at tarantool.org
Sun Nov 1 11:53:15 MSK 2020
Hello,
On 30 окт 09:59, Alexander V. Tikhonov wrote:
> To stabilize testing with issue #5141 the following steps had to be
> done:
>
> - Prepare tests - add test-run filter on box.snapshot error message:
>
> 'Invalid VYLOG file: Slice [0-9]+ deleted but not registered'
>
> to avoid of printing changing data in results file to be able to use
> its checksums in fragile list of test-run to rerun it as flaky issue.
>
> - Create the stable reproducer for the issue #5141 as new standalone
> test vinyl/gh-5141-invalid-vylog-file.test.lua.
>
> - Fix flaky issue #5141 in vinyl/gh-4957-too-many-upserts.test.lua.
>
> - Fix hanging of vinyl/gh.test.lua. Revert previous fix for #5141 in
> vinyl/gh.test.lua.
>
> To implement it created 4 patches (in reverse order):
>
> 4. test: fix hanging of vinyl/gh.test.lua
>
> Found that the previously fixed vinyl/gh.test.lua test in commit:
>
> 94dc5bddc1fb0f9e6ebebfc5aa6be586e5b6759e ('test: gh test hangs after gh-4957-too-many-upserts')
>
> with adding fiber.sleep(1) workaround to avoid of raise from the
> previously run vinyl/gh-4957-too-many-upserts.test.lua test can be
> changed in the other way. The new change from one side will leave
> the found issue untouched to be able to resolve it within opened
> issue in github. And from the other side it will let the test-run
> tool to be able to avoid of this issue using fragile list feature
> to save the stability of testing due to found issue is flaky and
> can be passed on reruns.
>
> The current fix changes the forever waiting loop to especially
> created for such situations test_run:wait_cond() routine which has
> timeout in it to avoid of hanging the test till global timeout will
> occure. It will let the testing to be continued even after the fail.
>
> Needed for #5141
>
> 3. test: fix flaky vinyl/gh-4957-too-many-upserts
>
> Added restart the current server to resolve the issue #5141 which
> reproduced in test:
>
> vinyl/gh-5141-invalid-vylog-file.test.lua
>
> Added test-run filter on box.snapshot error message:
>
> 'Invalid VYLOG file: Slice [0-9]+ deleted but not registered'
>
> to avoid of printing changing data in results file to be able to use
> its checksums in fragile list of test-run to rerun it as flaky issue.
>
> Part of #5141
>
> 2. test: create reproducer for #5141
>
> Created the stable reproducer for the issue #5141:
>
> box.snapshot()
> ---
> -- ok
> +- error: 'Invalid VYLOG file: Slice <NUM> deleted but not registered'
> ...
>
> flaky occured in vinyl/ suite tests if running after the test:
>
> vinyl/gh-4957-too-many-upserts.test.lua
>
> as new standalone test:
>
> vinyl/gh-5141-invalid-vylog-file.test.lua
>
> based on test:
>
> vinyl/gh-4957-too-many-upserts.test.lua
>
> Due to issue not reproduced on FreeBSD 12, then test was blocked with:
>
> vinyl/gh-5141-invalid-vylog-file.skipcond
>
> Needed for #5141
>
> 1. test: add test filter for box.snapshot
>
> Added test-run filter on box.snapshot error message:
>
> 'Invalid VYLOG file: Slice [0-9]+ deleted but not registered'
>
> to avoid of printing changing data in results file to be able to use
> its checksums in fragile list of test-run to rerun it as flaky issue.
> Also added checksums to fragile list for the following tests:
>
> vinyl/iterator.test.lua gh-5141
> vinyl/snapshot.test.lua gh-4984
>
> Needed for #5141
> Needed for #4984
>
> Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5141-gh_test
> Issue: https://github.com/tarantool/tarantool/issues/5141
LGTM.
I've checked your patchset into 1.10, 2.5, 2.6 and master.
--
Regards, Kirill Yukhin
More information about the Tarantool-patches
mailing list