[Tarantool-patches] [PATCH v1] Revert "test: create reproducer for #5141" on 1.10
Alexander V. Tikhonov
avtikhon at tarantool.org
Sun Nov 1 20:21:31 MSK 2020
The reproduce test for #5141 added in commit:
444f3e7ca807b277b8b6426661abff19e84b4a14 ('test: create reproducer for #5141')
is not needed due to issue doesn't exist on this release branch.
This reverts commit 444f3e7ca807b277b8b6426661abff19e84b4a14.
---
Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-5141-vylog-1.10
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 <NUM> 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 <NUM> 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 <NUM> 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 <NUM> 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 <NUM> 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 <NUM> 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 e941a0ec8..40a7131d7 100644
--- a/test/vinyl/suite.ini
+++ b/test/vinyl/suite.ini
@@ -53,10 +53,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
More information about the Tarantool-patches
mailing list