Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH v1] Revert "test: create reproducer for #5141" on 2.5
@ 2020-11-01 17:23 Alexander V. Tikhonov
  0 siblings, 0 replies; only message in thread
From: Alexander V. Tikhonov @ 2020-11-01 17:23 UTC (permalink / raw)
  To: Kirill Yukhin; +Cc: tarantool-patches

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 <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 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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-11-01 17:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-01 17:23 [Tarantool-patches] [PATCH v1] Revert "test: create reproducer for #5141" on 2.5 Alexander V. Tikhonov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox