From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp16.mail.ru (smtp16.mail.ru [94.100.176.153]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 178EE446439 for ; Sun, 1 Nov 2020 20:23:15 +0300 (MSK) From: "Alexander V. Tikhonov" Date: Sun, 1 Nov 2020 20:23:12 +0300 Message-Id: <5cde0c9d698d7555f230eff0e1b2f5eb2e5656b3.1604251318.git.avtikhon@tarantool.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v1] Revert "test: create reproducer for #5141" on 2.5 List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kirill Yukhin Cc: tarantool-patches@dev.tarantool.org The reproduce test for #5141 added in commit: 51f1b0f51bad16fd3867d9f6bdca1e200762675c ('test: create reproducer for #5141') is not needed due to issue doesn't exist on this release branch. This reverts commit 51f1b0f51bad16fd3867d9f6bdca1e200762675c. --- Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5141-vylog-2.5 test/vinyl/gh-5141-invalid-vylog-file.result | 140 ------------------ .../vinyl/gh-5141-invalid-vylog-file.skipcond | 6 - .../vinyl/gh-5141-invalid-vylog-file.test.lua | 72 --------- test/vinyl/suite.ini | 4 - 4 files changed, 222 deletions(-) delete mode 100644 test/vinyl/gh-5141-invalid-vylog-file.result delete mode 100644 test/vinyl/gh-5141-invalid-vylog-file.skipcond delete mode 100644 test/vinyl/gh-5141-invalid-vylog-file.test.lua diff --git a/test/vinyl/gh-5141-invalid-vylog-file.result b/test/vinyl/gh-5141-invalid-vylog-file.result deleted file mode 100644 index 15caa75a9..000000000 --- a/test/vinyl/gh-5141-invalid-vylog-file.result +++ /dev/null @@ -1,140 +0,0 @@ --- test-run result file version 2 -test_run = require('test_run').new() - | --- - | ... -test_run:cmd("push filter 'Invalid VYLOG file: Slice [0-9]+ deleted but not registered'" .. \ - "to 'Invalid VYLOG file: Slice deleted but not registered'") - | --- - | - true - | ... - --- restart the current server to avoid of issues from previous runs -test_run:cmd("restart server default with cleanup=True") - | - --- Let's test number of upserts in one transaction that exceeds --- the limit of operations allowed in one update. --- -ups_cnt = 10000 - | --- - | ... - -s = box.schema.create_space('test', {engine = 'vinyl'}) - | --- - | ... -pk = s:create_index('pk') - | --- - | ... - -tuple = {} - | --- - | ... -for i = 1, ups_cnt do tuple[i] = i end - | --- - | ... -_ = s:insert(tuple) - | --- - | ... -box.snapshot() - | --- - | - ok - | ... - -box.begin() - | --- - | ... -for k = 1, ups_cnt do s:upsert({1}, {{'+', k, 1}}) end - | --- - | ... -box.commit() - | --- - | ... --- Upserts are not able to squash, so scheduler will get stuck. --- So let's not waste much time here, just check that no crash --- takes place. --- -box.snapshot() - | --- - | - ok - | ... -require('fiber').sleep(0.01) - | --- - | ... - -s:drop() - | --- - | ... - --- --- WARNING: do not split from previous subtest. --- gh-5141: vinyl: after test with number of upserts in one transaction --- that exceeded the limit of operations allowed in one update, then --- box.snapshot() call may fail with error: --- "Invalid VYLOG file: Slice deleted but not registered". --- To avoid of the issue tarantool server restart is needed. --- - --- let's check the issue reproduced -s0 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) - | --- - | ... -i0 = s0:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) - | --- - | ... -cnt = 1 - | --- - | ... -s0:replace{cnt, 'tuple'} - | --- - | - [1, 'tuple'] - | ... -test_run:wait_cond(function() \ - cnt = cnt + 1 \ - s0:replace{cnt, 'tuple ' .. cnt} \ - local ok, err = pcall(box.snapshot) \ - if ok == false then \ - require('log').info( \ - "box.snapshot() returned on loop " .. cnt .. " 'err': " .. err) \ - end \ - return err:match "Invalid VYLOG file: Slice %d+ deleted but not registered" \ -end, 10) - | --- - | - 'Invalid VYLOG file: Slice deleted but not registered' - | ... -s0:drop() - | --- - | ... - --- let's check the issue is stable -s1 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) - | --- - | ... -i1 = s1:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) - | --- - | ... -box.snapshot() - | --- - | - error: 'Invalid VYLOG file: Slice deleted but not registered' - | ... -s1:drop() - | --- - | ... - --- restart the current server to resolve the issue -test_run:cmd("restart server default with cleanup=True") - | - --- let's check the issue resolved -s2 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) - | --- - | ... -i2 = s2:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) - | --- - | ... -box.snapshot() - | --- - | - ok - | ... -s2:drop() - | --- - | ... diff --git a/test/vinyl/gh-5141-invalid-vylog-file.skipcond b/test/vinyl/gh-5141-invalid-vylog-file.skipcond deleted file mode 100644 index 2d688cae1..000000000 --- a/test/vinyl/gh-5141-invalid-vylog-file.skipcond +++ /dev/null @@ -1,6 +0,0 @@ -# vim: set ft=python : -import platform - -# Disabled on FreeBSD due to issue #5141 not reproduced. -if platform.system() == 'FreeBSD': - self.skip = 1 diff --git a/test/vinyl/gh-5141-invalid-vylog-file.test.lua b/test/vinyl/gh-5141-invalid-vylog-file.test.lua deleted file mode 100644 index 3df4a879e..000000000 --- a/test/vinyl/gh-5141-invalid-vylog-file.test.lua +++ /dev/null @@ -1,72 +0,0 @@ -test_run = require('test_run').new() -test_run:cmd("push filter 'Invalid VYLOG file: Slice [0-9]+ deleted but not registered'" .. \ - "to 'Invalid VYLOG file: Slice deleted but not registered'") - --- restart the current server to avoid of issues from previous runs -test_run:cmd("restart server default with cleanup=True") - --- Let's test number of upserts in one transaction that exceeds --- the limit of operations allowed in one update. --- -ups_cnt = 10000 - -s = box.schema.create_space('test', {engine = 'vinyl'}) -pk = s:create_index('pk') - -tuple = {} -for i = 1, ups_cnt do tuple[i] = i end -_ = s:insert(tuple) -box.snapshot() - -box.begin() -for k = 1, ups_cnt do s:upsert({1}, {{'+', k, 1}}) end -box.commit() --- Upserts are not able to squash, so scheduler will get stuck. --- So let's not waste much time here, just check that no crash --- takes place. --- -box.snapshot() -require('fiber').sleep(0.01) - -s:drop() - --- --- WARNING: do not split from previous subtest. --- gh-5141: vinyl: after test with number of upserts in one transaction --- that exceeded the limit of operations allowed in one update, then --- box.snapshot() call may fail with error: --- "Invalid VYLOG file: Slice deleted but not registered". --- To avoid of the issue tarantool server restart is needed. --- - --- let's check the issue reproduced -s0 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) -i0 = s0:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) -cnt = 1 -s0:replace{cnt, 'tuple'} -test_run:wait_cond(function() \ - cnt = cnt + 1 \ - s0:replace{cnt, 'tuple ' .. cnt} \ - local ok, err = pcall(box.snapshot) \ - if ok == false then \ - require('log').info( \ - "box.snapshot() returned on loop " .. cnt .. " 'err': " .. err) \ - end \ - return err:match "Invalid VYLOG file: Slice %d+ deleted but not registered" \ -end, 10) -s0:drop() - --- let's check the issue is stable -s1 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) -i1 = s1:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) -box.snapshot() -s1:drop() - --- restart the current server to resolve the issue -test_run:cmd("restart server default with cleanup=True") - --- let's check the issue resolved -s2 = box.schema.space.create('tweedledum', {engine = 'vinyl'}) -i2 = s2:create_index('primary', { type = 'tree', parts = {1, 'unsigned'}}) -box.snapshot() -s2:drop() diff --git a/test/vinyl/suite.ini b/test/vinyl/suite.ini index e0f083000..520e511dd 100644 --- a/test/vinyl/suite.ini +++ b/test/vinyl/suite.ini @@ -55,10 +55,6 @@ fragile = { "issues": [ "gh-5141" ], "checksums": [ "f1286e9e4710062ddfbffb61b2fe2743", "96b22440ab8a881d6b8d14c5ee1672fb", "fc77a97c3c891c57d4717087f7a65bd0" ] }, - "gh-5141-invalid-vylog-file.test.lua": { - "issues": [ "gh-5141" ], - "checksums": [ "1f4d4261fc63291c4020372986c62e2e" ] - }, "iterator.test.lua": { "issues": [ "gh-5336" ], "checksums": [ "f56d6d279692e46d84a06f470af0090d", "a8a2824fb09380330a70a589d4fc545e", "e03548bcb918e824c349dc4c52ae3715", "adbd4ad9878302d570e40aef9a6b92cc", "39ee43ee7b2004166ca54402dfe02238" ] -- 2.25.1