Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support vshard's identification_mode = name_as_key #403

Closed
Totktonada opened this issue Dec 21, 2023 · 2 comments · Fixed by #404
Closed

Support vshard's identification_mode = name_as_key #403

Totktonada opened this issue Dec 21, 2023 · 2 comments · Fixed by #404
Assignees
Labels
2sp bug Something isn't working teamE

Comments

@Totktonada
Copy link
Member

Totktonada commented Dec 21, 2023

It is released in vshard 0.1.25. See tarantool/doc#3942.

This mode has different vshard.storage.info() output: names are there instead of UUIDs.

At least the following crud's code is not ready for that.

crud/crud.lua

Lines 182 to 196 in a897f4c

local box_info = box.info()
local replicaset_uuid
if box_info.replicaset ~= nil then
replicaset_uuid = box_info.replicaset.uuid
else
replicaset_uuid = box_info.cluster.uuid
end
local replicaset_info = storage_info.replicasets[replicaset_uuid]
if replicaset_info == nil or replicaset_info.master == nil then
error(string.format('Failed to find a vshard configuration for ' ..
' replicaset with replicaset_uuid %s.',
replicaset_uuid))
end
user = luri.parse(replicaset_info.master.uri).login or 'guest'
end

@Totktonada Totktonada added the feature A new functionality label Dec 21, 2023
@DifferentialOrange
Copy link
Member

DifferentialOrange commented Dec 21, 2023

As far as I understand, 0.1.25 with new mode enabled will break the crud module apart on initialization?

@Totktonada
Copy link
Member Author

@DifferentialOrange I don't know, but I hope that the new mode is generally compatible with the old one. Only testing can tell us.

@DifferentialOrange DifferentialOrange added bug Something isn't working and removed feature A new functionality labels Dec 21, 2023
@DifferentialOrange DifferentialOrange self-assigned this Dec 21, 2023
DifferentialOrange added a commit that referenced this issue Dec 22, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible mods.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 22, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible mods.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible mods.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible mods.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible mods.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible
modes.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
In vshard 0.1.25, new feature related to vshard configuration and
storage info was introduced [1]. If the new mode is used, crud module
fails to bootstrap and work in several places. This feature is enabled
by Tarantool 3.0 if vshard cluster was configured with 3.0 config.

After this patch, it is possible to bootstrap a vshard cluster with
new configuration mode. We run all existing vshard tests with new modes
after this patch. Module code was updated to support both possible
modes.

1. tarantool/vshard#426

Closes #403
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
Overview

  This release introduces compatibility with vshard 0.1.25 `name_as_key`
  identification mode, as well as several minor fixes and tests
  stabilization.

Added
  * `mode` option for `crud.min` and `crud.max` (#404).

Fixed
  * Compatibility with vshard 0.1.25 `name_as_key` identification mode
    for Tarantool 3.0 (#403).
  * Propagating `noreturn` and `fetch_latest_metadata` options in case
    of intermediate nullable fields update for Tarantool 2.7 and
    older (#404).

Infrastructure
  * Fix flaky update unflatten test case (#404).
  * Do not rely on replication in read test cases (#404).
DifferentialOrange added a commit that referenced this issue Dec 25, 2023
Overview

  This release introduces compatibility with vshard 0.1.25 `name_as_key`
  identification mode, as well as several minor fixes and tests
  stabilization.

Added
  * `mode` option for `crud.min` and `crud.max` (#404).

Fixed
  * Compatibility with vshard 0.1.25 `name_as_key` identification mode
    for Tarantool 3.0 (#403).
  * Propagating `noreturn` and `fetch_latest_metadata` options in case
    of intermediate nullable fields update for Tarantool 2.7 and
    older (#404).

Infrastructure
  * Fix flaky update unflatten test case (#404).
  * Do not rely on replication in read test cases (#404).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2sp bug Something isn't working teamE
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants