Skip to content

SCHEMA_NEEDS_UPGRADE error when Tarantool 3+ is loaded from old snapshot #9849

@ImeevMA

Description

@ImeevMA

The problem occurs when Tarantool is loaded using a configuration with a credentials section from a snapshot of an older version.


Remarks from @Totktonada:

The problem is mostly fixed by 8f43d0b: the SCHEMA_NEEDS_UPGRADE error doesn't appear now, because we don't try to grant/revoke privileges if a schema is not upgraded yet.

However, we should also react on a successful schema upgrade and run the grant/revoke process without waiting for a new configuration.


More remarks from @Totktonada:

While granting a privilege to an existing user/role is skipped now (by 8f43d0b), the declarative configuration performs other operations that are considered as DDL and forbidden on a non-upgraded instance (see #7149).

These operations are the following:

  • Creating a user or a role.
  • Setting or changing a password.

Tarantool 3.1.0 fails to perform these operations and stuck in the startup_in_progress status if it is started on a database snapshot with an old schema version.

Let's postpone these operation (as well as granting/revoking privileges) if the instance requires an upgrade (and forbids DDL).

Metadata

Metadata

Labels

3.1Target is 3.1 and all newer release/master branchesbugSomething isn't workingconfig

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions