[Tarantool-patches] [PATCH] net.box: fix fetching of schema of an old version

Alexander Turenko alexander.turenko at tarantool.org
Sun Apr 19 19:22:45 MSK 2020


On Mon, Apr 06, 2020 at 02:39:37PM +0300, Alexander Turenko wrote:
> > >> The test and the bug are still upgrade related. 'xlog/upgrade' is not
> > >> called 'xlog/upgrade_called'. It is called just 'upgrade'. For all cases
> > >> when an old snapshot is used to start a new tarantool.
> > > 
> > > I disagree here. 'upgrade' is not something about working upward an old
> > > snapshot.
> > 
> > It is. Because you won't work on the old snapshot forever. You are
> > going to upgrade anyway. Your bug is for when upgrade is started but
> > not finished. Because Tarantools are new, but upgrade() is not called
> > yet.
> 
> It is like "sooner or later a user will use feature X after Y, so let's
> call Y as X". I understood your point, but still think that the name
> 'upgrade' is misleading. More general 'snap' or 'snapshots' looks better
> for me.
> 
> In fact upgrade may break old connectors (say, due to unicode_ci
> collation of _func on 2.2) and I guess the old schema may be kept for
> quite long time so.

We should agree on some name for directory(-ies) with snapshots for
testing purposes.

I think that stored snapshots may be used to test various scenarious:

* Start from a snapshot with old schema and data, then call upgrade and
  test a scenario.
* Start from a snapshot with old schema and some data, then test a
  scenario.
* Start from a snapshot that is broken by a past upgrade (see #4804),
  then test a scenario.
* Start from a broken snapshot and test a scenario:
  - A snapshot that violates some constraint (and so is hard to be
    generated on demand), see #4797.
  - A snapshot that has broken metainformation: instance uuid, vclock.

So I would prefer a name that is more general then 'upgrade': 'snap',
'snapshots'.

Aren't this convince you?

WBR, Alexander Turenko.


More information about the Tarantool-patches mailing list