* [Tarantool-patches] [PATCH 1/2] vinyl: remove vinyl/upgrade.test.lua
2020-10-15 14:33 [Tarantool-patches] [PATCH 0/2] Upsert upgrade test follow-up Nikita Pettik
@ 2020-10-15 14:33 ` Nikita Pettik
2020-10-15 14:33 ` [Tarantool-patches] [PATCH 2/2] vinyl: reorganize vinyl/upsert_upgrade.test.lua Nikita Pettik
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Nikita Pettik @ 2020-10-15 14:33 UTC (permalink / raw)
To: tarantool-patches; +Cc: v.shpilevoy
It was disabled since 9cf66ac029f560f141bd9fbbcad4cac8a9d8f8e2
Let's remove it to avoid test contamination folder.
---
test/vinyl/suite.cfg | 3 -
test/vinyl/suite.ini | 2 +-
test/vinyl/upgrade.lua | 7 --
test/vinyl/upgrade.test.lua | 20 ------
test/vinyl/upgrade/fill.lua | 136 ------------------------------------
5 files changed, 1 insertion(+), 167 deletions(-)
delete mode 100644 test/vinyl/upgrade.lua
delete mode 100644 test/vinyl/upgrade.test.lua
delete mode 100644 test/vinyl/upgrade/fill.lua
diff --git a/test/vinyl/suite.cfg b/test/vinyl/suite.cfg
index 35316810c..0eb97d5d0 100644
--- a/test/vinyl/suite.cfg
+++ b/test/vinyl/suite.cfg
@@ -1,8 +1,5 @@
{
"options.test.lua": {
"edge": {"index_options": {"range_size": 1, "page_size": 1}}
- },
- "upgrade.test.lua": {
- "1.7.7": {"version": "1.7.7"}
}
}
diff --git a/test/vinyl/suite.ini b/test/vinyl/suite.ini
index 8e1db8ad9..870f25ddd 100644
--- a/test/vinyl/suite.ini
+++ b/test/vinyl/suite.ini
@@ -10,7 +10,7 @@ use_unix_sockets_iproto = True
long_run = stress.test.lua large.test.lua write_iterator_rand.test.lua dump_stress.test.lua select_consistency.test.lua throttle.test.lua
is_parallel = True
# throttle.test.lua temporary disabled for gh-4168
-disabled = upgrade.test.lua throttle.test.lua
+disabled = throttle.test.lua
pretest_clean = True
fragile = {
"retries": 10,
diff --git a/test/vinyl/upgrade.lua b/test/vinyl/upgrade.lua
deleted file mode 100644
index 2853492b0..000000000
--- a/test/vinyl/upgrade.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env tarantool
-
-box.cfg{
- listen = os.getenv("LISTEN"),
-}
-
-require('console').listen(os.getenv('ADMIN'))
diff --git a/test/vinyl/upgrade.test.lua b/test/vinyl/upgrade.test.lua
deleted file mode 100644
index 2bc71793f..000000000
--- a/test/vinyl/upgrade.test.lua
+++ /dev/null
@@ -1,20 +0,0 @@
-test_run = require('test_run').new()
-
-version = test_run:get_cfg('version')
-work_dir = 'vinyl/upgrade/' .. version
-
-test_run:cmd('create server upgrade with script="vinyl/upgrade.lua", workdir="' .. work_dir .. '"')
-test_run:cmd('start server upgrade')
-test_run:switch('upgrade')
-
-box.space.test.index.i1:select()
-box.space.test.index.i2:select()
-box.space.test_truncate.index.i1:select()
-box.space.test_truncate.index.i2:select()
-box.space.test_split:select()
-box.space.test_split:select()
-box.space.test_drop == nil
-
-test_run:switch('default')
-test_run:cmd('stop server upgrade')
-test_run:cmd('cleanup server upgrade')
diff --git a/test/vinyl/upgrade/fill.lua b/test/vinyl/upgrade/fill.lua
deleted file mode 100644
index 547777330..000000000
--- a/test/vinyl/upgrade/fill.lua
+++ /dev/null
@@ -1,136 +0,0 @@
---
--- This script generates a vinyl metadata log
--- containing all possible record types.
---
-fiber = require 'fiber'
-
-box.cfg{vinyl_memory = 1024 * 1024, vinyl_timeout = 1e-9, checkpoint_count = 1}
-
-dump_trigger = box.schema.space.create('dump_trigger', {engine = 'vinyl'})
-dump_trigger:create_index('pk', {run_count_per_level = 1})
-
--- Trigger dump of all indexes and wait for it to finish.
---
--- On hitting memory limit, vinyl dumps all existing spaces, so
--- to trigger system-wide memory dump, it is enough to insert a
--- huge tuple into one space.
---
-function dump()
- local pad = string.rep('x', box.cfg.vinyl_memory / 2)
- dump_trigger:replace{1, pad}
- -- Must fail due to quota timeout, but still trigger dump.
- if pcall(dump_trigger.replace, dump_trigger, {1, pad}) then
- assert(false)
- end
- -- Wait for dump to complete.
- while box.stat.vinyl().quota.used > 0 do
- fiber.sleep(0.01)
- end
- -- Wait for compaction to collect garbage.
- while dump_trigger.index.pk:stat().run_count > 1 do
- fiber.sleep(0.01)
- end
-end
-
---
--- Create a space:
---
--- VY_LOG_CREATE_INDEX
--- VY_LOG_INSERT_RANGE
---
-s = box.schema.space.create('test', {engine = 'vinyl'})
-s:create_index('i1', {parts = {1, 'unsigned'}, run_count_per_level = 1})
-s:create_index('i2', {parts = {2, 'string'}, run_count_per_level = 2})
-
---
--- Trigger compaction:
---
--- VY_LOG_PREPARE_RUN
--- VY_LOG_CREATE_RUN
--- VY_LOG_DROP_RUN
--- VY_LOG_INSERT_SLICE
--- VY_LOG_DELETE_SLICE
---
-s:insert{1, 'a'}
-dump()
-s:insert{2, 'b'}
-dump()
-s:insert{3, 'c'}
-dump()
-
---
--- Make a snapshot and collect garbage:
---
--- VY_LOG_SNAPSHOT
--- VY_LOG_FORGET_RUN
---
--- Note, this purges:
---
--- VY_LOG_PREPARE_RUN
--- VY_LOG_DELETE_SLICE
---
-box.snapshot()
-
---
--- Space drop:
---
--- VY_LOG_CREATE_INDEX
--- VY_LOG_DROP_INDEX
--- VY_LOG_PREPARE_RUN
--- VY_LOG_CREATE_RUN
--- VY_LOG_DROP_RUN
--- VY_LOG_INSERT_RANGE
--- VY_LOG_DELETE_RANGE
--- VY_LOG_INSERT_SLICE
--- VY_LOG_DELETE_SLICE
---
-s = box.schema.space.create('test_drop', {engine = 'vinyl'})
-s:create_index('i1', {parts = {1, 'unsigned'}})
-s:create_index('i2', {parts = {2, 'string'}})
-s:insert{11, 'aa'}
-dump()
-s:insert{22, 'bb'}
-s:drop()
-
---
--- Space truncation.
---
--- Before 1.7.4-126-g2ba51ab2, implemented as index drop/create.
--- In newer versions, writes a special record:
---
--- VY_LOG_TRUNCATE_INDEX
---
-s = box.schema.space.create('test_truncate', {engine = 'vinyl'})
-s:create_index('i1', {parts = {1, 'unsigned'}})
-s:create_index('i2', {parts = {2, 'string'}})
-s:insert{1, 'a'}
-dump()
-s:insert{12, 'ab'}
-s:truncate()
-s:insert{123, 'abc'}
-
---
--- Create a space and trigger range splitting:
---
--- VY_LOG_CREATE_INDEX
--- VY_LOG_PREPARE_RUN
--- VY_LOG_CREATE_RUN
--- VY_LOG_DROP_RUN
--- VY_LOG_INSERT_RANGE with finite begin/end.
--- VY_LOG_DELETE_RANGE
--- VY_LOG_INSERT_SLICE with finite begin/end
--- VY_LOG_DELETE_SLICE
---
-s = box.schema.space.create('test_split', {engine = 'vinyl'})
-s:create_index('pk', {page_size = 4, range_size = 16, run_count_per_level = 1, run_size_ratio = 1000})
-for i = 1, 4 do
- for k = 1, 8 do
- s:replace{k, i + k}
- end
- dump()
-end
-assert(s.index.pk:stat().range_count >= 2)
-
-dump_trigger:drop()
-
-os.exit(0)
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Tarantool-patches] [PATCH 2/2] vinyl: reorganize vinyl/upsert_upgrade.test.lua
2020-10-15 14:33 [Tarantool-patches] [PATCH 0/2] Upsert upgrade test follow-up Nikita Pettik
2020-10-15 14:33 ` [Tarantool-patches] [PATCH 1/2] vinyl: remove vinyl/upgrade.test.lua Nikita Pettik
@ 2020-10-15 14:33 ` Nikita Pettik
2020-10-19 20:02 ` [Tarantool-patches] [PATCH 0/2] Upsert upgrade test follow-up Vladislav Shpilevoy
2020-10-20 11:54 ` Alexander V. Tikhonov
3 siblings, 0 replies; 6+ messages in thread
From: Nikita Pettik @ 2020-10-15 14:33 UTC (permalink / raw)
To: tarantool-patches; +Cc: v.shpilevoy
To make vinyl/upgrade tests hierarchy clean and follow more extendible
folder structure (like in xlog/upgrade), let's a bit reorganize upgrade
test.
Follow-up #5107
---
.../00000000000000000000.vylog | Bin
.../00000000000000000004.vylog | Bin
.../00000000000000000004.xlog | Bin
.../00000000000000000010.vylog | Bin
.../00000000000000000010.xlog | 0
.../512/0/00000000000000000002.index | Bin
.../512/0/00000000000000000002.run | Bin
.../512/0/00000000000000000004.index | Bin
.../512/0/00000000000000000004.run | Bin
.../512/0/00000000000000000006.index | Bin
.../512/0/00000000000000000006.run | Bin
.../2.5.1/gh-5107-upsert-upgrade/fill.lua | 15 +++++
.../upgrade/upsert/00000000000000000004.snap | Bin 6187 -> 0 bytes
.../upgrade/upsert/00000000000000000010.snap | Bin 6188 -> 0 bytes
test/vinyl/upsert_upgrade.result | 59 ------------------
test/vinyl/upsert_upgrade.test.lua | 32 ----------
16 files changed, 15 insertions(+), 91 deletions(-)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000000.vylog (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000004.vylog (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000004.xlog (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000010.vylog (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/00000000000000000010.xlog (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000002.index (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000002.run (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000004.index (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000004.run (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000006.index (100%)
rename test/vinyl/upgrade/{upsert => 2.5.1/gh-5107-upsert-upgrade}/512/0/00000000000000000006.run (100%)
create mode 100644 test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua
delete mode 100644 test/vinyl/upgrade/upsert/00000000000000000004.snap
delete mode 100644 test/vinyl/upgrade/upsert/00000000000000000010.snap
delete mode 100644 test/vinyl/upsert_upgrade.result
delete mode 100644 test/vinyl/upsert_upgrade.test.lua
diff --git a/test/vinyl/upgrade/upsert/00000000000000000000.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000000.vylog
similarity index 100%
rename from test/vinyl/upgrade/upsert/00000000000000000000.vylog
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000000.vylog
diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.vylog
similarity index 100%
rename from test/vinyl/upgrade/upsert/00000000000000000004.vylog
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.vylog
diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.xlog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.xlog
similarity index 100%
rename from test/vinyl/upgrade/upsert/00000000000000000004.xlog
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000004.xlog
diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.vylog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.vylog
similarity index 100%
rename from test/vinyl/upgrade/upsert/00000000000000000010.vylog
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.vylog
diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.xlog b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.xlog
similarity index 100%
rename from test/vinyl/upgrade/upsert/00000000000000000010.xlog
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/00000000000000000010.xlog
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000002.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.index
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000002.index
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.index
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000002.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.run
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000002.run
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000002.run
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000004.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.index
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000004.index
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.index
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000004.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.run
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000004.run
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000004.run
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000006.index b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.index
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000006.index
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.index
diff --git a/test/vinyl/upgrade/upsert/512/0/00000000000000000006.run b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.run
similarity index 100%
rename from test/vinyl/upgrade/upsert/512/0/00000000000000000006.run
rename to test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/512/0/00000000000000000006.run
diff --git a/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua
new file mode 100644
index 000000000..1916aea6e
--- /dev/null
+++ b/test/vinyl/upgrade/2.5.1/gh-5107-upsert-upgrade/fill.lua
@@ -0,0 +1,15 @@
+box.cfg{}
+
+s = box.schema.create_space('test', {engine = 'vinyl'})
+pk = s:create_index('pk')
+s:insert({1, 2})
+box.snapshot()
+s:upsert({1, 0}, {{'+', 2, 1}})
+s:upsert({1, 0}, {{'-', 2, 2}})
+s:upsert({2, 0}, {{'+', 2, 1}})
+s:upsert({2, 0}, {{'-', 2, 2}})
+s:upsert({1, 0}, {{'=', 2, 2}})
+s:upsert({1, 0}, {{'-', 2, 2}})
+box.snapshot()
+
+os.exit()
diff --git a/test/vinyl/upgrade/upsert/00000000000000000004.snap b/test/vinyl/upgrade/upsert/00000000000000000004.snap
deleted file mode 100644
index 9c8767eadb5eb1a27dc39a23072f2b9e28327d8c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 6187
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
JiVxKgt?f8T;qd?f
diff --git a/test/vinyl/upgrade/upsert/00000000000000000010.snap b/test/vinyl/upgrade/upsert/00000000000000000010.snap
deleted file mode 100644
index 8b89c925fc080880c9a9176ed5cd68ac04c0dc6c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 6188
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
KyowLi5UuTjyy6}J
diff --git a/test/vinyl/upsert_upgrade.result b/test/vinyl/upsert_upgrade.result
deleted file mode 100644
index 8882a8b63..000000000
--- a/test/vinyl/upsert_upgrade.result
+++ /dev/null
@@ -1,59 +0,0 @@
--- test-run result file version 2
-test_run = require('test_run').new()
- | ---
- | ...
-
--- Upsert's internal format have changed: now update operations are stored
--- with additional map package. Let's test backward compatibility.
--- Snapshot (i.e. run files) contain following statements:
-
--- s = box.schema.create_space('test', {engine = 'vinyl'})
--- pk = s:create_index('pk')
--- s:insert({1, 2})
--- box.snapshot()
--- s:upsert({1, 0}, {{'+', 2, 1}})
--- s:upsert({1, 0}, {{'-', 2, 2}})
--- s:upsert({2, 0}, {{'+', 2, 1}})
--- s:upsert({2, 0}, {{'-', 2, 2}})
--- s:upsert({1, 0}, {{'=', 2, 2}})
--- s:upsert({1, 0}, {{'-', 2, 2}})
--- box.snapshot()
---
--- Make sure that upserts will be parsed and squashed correctly.
---
-
-dst_dir = 'vinyl/upgrade/upsert/'
- | ---
- | ...
-
-test_run:cmd('create server upgrade with script="vinyl/upgrade.lua", workdir="' .. dst_dir .. '"')
- | ---
- | - true
- | ...
-test_run:cmd('start server upgrade')
- | ---
- | - true
- | ...
-test_run:switch('upgrade')
- | ---
- | - true
- | ...
-
-box.space.test:select()
- | ---
- | - - [1, 0]
- | - [2, -2]
- | ...
-
-test_run:switch('default')
- | ---
- | - true
- | ...
-test_run:cmd('stop server upgrade')
- | ---
- | - true
- | ...
-test_run:cmd('cleanup server upgrade')
- | ---
- | - true
- | ...
diff --git a/test/vinyl/upsert_upgrade.test.lua b/test/vinyl/upsert_upgrade.test.lua
deleted file mode 100644
index db409e2dd..000000000
--- a/test/vinyl/upsert_upgrade.test.lua
+++ /dev/null
@@ -1,32 +0,0 @@
-test_run = require('test_run').new()
-
--- Upsert's internal format have changed: now update operations are stored
--- with additional map package. Let's test backward compatibility.
--- Snapshot (i.e. run files) contain following statements:
-
--- s = box.schema.create_space('test', {engine = 'vinyl'})
--- pk = s:create_index('pk')
--- s:insert({1, 2})
--- box.snapshot()
--- s:upsert({1, 0}, {{'+', 2, 1}})
--- s:upsert({1, 0}, {{'-', 2, 2}})
--- s:upsert({2, 0}, {{'+', 2, 1}})
--- s:upsert({2, 0}, {{'-', 2, 2}})
--- s:upsert({1, 0}, {{'=', 2, 2}})
--- s:upsert({1, 0}, {{'-', 2, 2}})
--- box.snapshot()
---
--- Make sure that upserts will be parsed and squashed correctly.
---
-
-dst_dir = 'vinyl/upgrade/upsert/'
-
-test_run:cmd('create server upgrade with script="vinyl/upgrade.lua", workdir="' .. dst_dir .. '"')
-test_run:cmd('start server upgrade')
-test_run:switch('upgrade')
-
-box.space.test:select()
-
-test_run:switch('default')
-test_run:cmd('stop server upgrade')
-test_run:cmd('cleanup server upgrade')
--
2.17.1
^ permalink raw reply [flat|nested] 6+ messages in thread