diff --git a/test/upgrade/upgrade.result b/test/upgrade/upgrade.result index a63ef345..24ab1f8a 100644 --- a/test/upgrade/upgrade.result +++ b/test/upgrade/upgrade.result @@ -8,13 +8,25 @@ git_util = require('git_util') util = require('util') | --- | ... +vutil = require('vshard.util') + | --- + | ... --- Commit "Improve compatibility with 1.9". -version_0_1_15_0 = '79a4dbfc4229e922cbfe4be259193a7b18dc089d' +oldest_version = nil + | --- + | ... +-- On 3.0 old vshard versions won't work. The users are supposed to update +-- vshard first, and then update Tarantool. +if vutil.version_is_at_least(3, 0, 0, 'entrypoint', 0, 0) then \ +-- Commit 'Support 3.0'. \ + oldest_version = '0243bc692fb6b34e26e89ea032214859f1ad53ea' \ +else \ +-- Commit 'Improve compatibility with 1.9'. \ + oldest_version = '79a4dbfc4229e922cbfe4be259193a7b18dc089d' \ +end | --- | ... -vshard_copy_path = util.git_checkout('vshard_git_tree_copy_0_1_15_0', \ - version_0_1_15_0) +vshard_copy_path = util.git_checkout('vshard_git_tree_copy', oldest_version) | --- | ... @@ -47,17 +59,9 @@ test_run:switch('storage_1_a') | --- | - true | ... -box.space._schema:get({'oncevshard:storage:1'}) or box.space._schema:select() - | --- - | - ['oncevshard:storage:1'] - | ... -vshard.storage.internal.schema_current_version - | --- - | - null - | ... -vshard.storage.internal.schema_latest_version +box.space._schema:get{'vshard_version'} or box.space._schema:select() | --- - | - null + | - ['vshard_version', 0, 1, 16, 0] | ... bucket_count = vshard.consts.DEFAULT_BUCKET_COUNT / 2 | --- @@ -80,21 +84,9 @@ test_run:switch('storage_2_a') | --- | - true | ... -box.space._schema:get({'oncevshard:storage:1'}) or box.space._schema:select() - | --- - | - ['oncevshard:storage:1'] - | ... -vshard.storage.internal.schema_current_version - | --- - | - null - | ... -vshard.storage.internal.schema_latest_version - | --- - | - null - | ... -vshard.storage._call == nil +box.space._schema:get{'vshard_version'} or box.space._schema:select() | --- - | - true + | - ['vshard_version', 0, 1, 16, 0] | ... bucket_count = vshard.consts.DEFAULT_BUCKET_COUNT / 2 | --- diff --git a/test/upgrade/upgrade.test.lua b/test/upgrade/upgrade.test.lua index a690fd0e..07f0b08a 100644 --- a/test/upgrade/upgrade.test.lua +++ b/test/upgrade/upgrade.test.lua @@ -1,11 +1,19 @@ test_run = require('test_run').new() git_util = require('git_util') util = require('util') +vutil = require('vshard.util') --- Commit "Improve compatibility with 1.9". -version_0_1_15_0 = '79a4dbfc4229e922cbfe4be259193a7b18dc089d' -vshard_copy_path = util.git_checkout('vshard_git_tree_copy_0_1_15_0', \ - version_0_1_15_0) +oldest_version = nil +-- On 3.0 old vshard versions won't work. The users are supposed to update +-- vshard first, and then update Tarantool. +if vutil.version_is_at_least(3, 0, 0, 'entrypoint', 0, 0) then \ +-- Commit 'Support 3.0'. \ + oldest_version = '0243bc692fb6b34e26e89ea032214859f1ad53ea' \ +else \ +-- Commit 'Improve compatibility with 1.9'. \ + oldest_version = '79a4dbfc4229e922cbfe4be259193a7b18dc089d' \ +end +vshard_copy_path = util.git_checkout('vshard_git_tree_copy', oldest_version) REPLICASET_1 = { 'storage_1_a', 'storage_1_b' } REPLICASET_2 = { 'storage_2_a', 'storage_2_b' } @@ -17,9 +25,7 @@ util.wait_master(test_run, REPLICASET_2, 'storage_2_a') util.map_evals(test_run, {REPLICASET_1, REPLICASET_2}, 'bootstrap_storage(\'memtx\')') test_run:switch('storage_1_a') -box.space._schema:get({'oncevshard:storage:1'}) or box.space._schema:select() -vshard.storage.internal.schema_current_version -vshard.storage.internal.schema_latest_version +box.space._schema:get{'vshard_version'} or box.space._schema:select() bucket_count = vshard.consts.DEFAULT_BUCKET_COUNT / 2 vshard.storage.bucket_force_create(1, bucket_count) box.begin() \ @@ -28,10 +34,7 @@ box.commit() box.space.test:count() test_run:switch('storage_2_a') -box.space._schema:get({'oncevshard:storage:1'}) or box.space._schema:select() -vshard.storage.internal.schema_current_version -vshard.storage.internal.schema_latest_version -vshard.storage._call == nil +box.space._schema:get{'vshard_version'} or box.space._schema:select() bucket_count = vshard.consts.DEFAULT_BUCKET_COUNT / 2 first_bucket = vshard.consts.DEFAULT_BUCKET_COUNT / 2 + 1 vshard.storage.bucket_force_create(first_bucket, bucket_count)