From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng3.m.smailru.net (smtpng3.m.smailru.net [94.100.177.149]) (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 9A33C4696C3 for ; Sat, 4 Apr 2020 01:53:55 +0300 (MSK) References: <65798b71932c21183072decd2cce8b2b0f88b884.1585773275.git.alexander.turenko@tarantool.org> From: Vladislav Shpilevoy Message-ID: <78056845-c72f-f97e-de62-2f04baaed0e0@tarantool.org> Date: Sat, 4 Apr 2020 00:53:53 +0200 MIME-Version: 1.0 In-Reply-To: <65798b71932c21183072decd2cce8b2b0f88b884.1585773275.git.alexander.turenko@tarantool.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Subject: Re: [Tarantool-patches] [PATCH] net.box: fix fetching of schema of an old version List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Turenko Cc: tarantool-patches@dev.tarantool.org Hi! Thanks for the patch! On 01/04/2020 22:45, Alexander Turenko wrote: > After 2.2.0-633-gaa0964ae1 ('net.box: fix schema fetching from 1.10/2.1 > servers') net.box expects that _vcollation system view exists on a > tarantool server of 2.2.1+ version. This is however not always so: a > server may be run on a new version of tarantool, but work on a schema of > an old version. > > The situation with non last schema is usual for replication cluster in > process of upgrading: all instances run on the new version of tarantool > first (no auto-upgrade is performed by tarantools in a cluster). Then > box.schema.upgrade() should be called, but the instances should be > operable even before the call. > > Before the commit net.box was unable to connect a server if it is run on > a schema without _vcollation system view (say, 2.1.3), but the server > executable is of 2.2.1 version or newer. > > Follows up #4307 > Fixes #4691 > --- > > https://github.com/tarantool/tarantool/issues/4691 > https://github.com/tarantool/tarantool/tree/Totktonada/gh-4691-net-box-connect-schema-2-1-3 > > src/box/lua/net_box.lua | 9 ++ > ...4691-net-box-connect-schema-2-1-3.test.lua | 93 ++++++++++++++++++ > test/box-tap/no_auto_schema_upgrade.lua | 30 ++++++ > .../snap/2.1.3/00000000000000000000.snap | Bin 0 -> 4466 bytes > 4 files changed, 132 insertions(+) > create mode 100755 test/box-tap/gh-4691-net-box-connect-schema-2-1-3.test.lua We have xlog/upgrade suite specifically for these tests. With already designed processes, where and how to store old snaps, etc. See xlog/upgrade/how_to_add_new_test.md.