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

crud: support vshard with no UUIDs in config #408

Merged
merged 5 commits into from
Jan 10, 2024

Conversation

DifferentialOrange
Copy link
Member

@DifferentialOrange DifferentialOrange commented Dec 28, 2023

PR #404 has introduced vshard 0.1.25 + Tarantool 3.0 "name as key" identification mode based on UUIDs extraction. If works fine if vshard configuration (or Tarantool 3.0 configuration which builds vshard one) provides UUIDs, but fails if it isn't. Since UUIDs are optional and won't be provided in most cases, it makes crud fails to work on most Tarantool 3.0 vshard clusters. This patch fixes the issue.

Now the code uses name as key, if corresponding mode is enabled, and uuid otherwise. Patch doesn't cover select_old since it runs only on pre-3.0 Tarantool. Unfortunately, code relies on vshard internals since now there is no other way [1].

This patch covers new mode support for readview code as well. It likely was broken before this patch even if UUIDs were provided.

  1. Expose current identification_mode vshard#460

Follows #404
Closes #407

@DifferentialOrange DifferentialOrange force-pushed the DifferentialOrange/gh-407-no-uuid branch 8 times, most recently from 5221c20 to 39479f5 Compare December 29, 2023 08:18
@DifferentialOrange DifferentialOrange marked this pull request as ready for review December 29, 2023 08:18
@DifferentialOrange DifferentialOrange force-pushed the DifferentialOrange/gh-407-no-uuid branch 2 times, most recently from d874a7d to 5541879 Compare December 29, 2023 11:12
@DifferentialOrange DifferentialOrange force-pushed the DifferentialOrange/gh-407-no-uuid branch from 5541879 to cb67ba3 Compare January 9, 2024 08:18
Some read cases were missing in #404 test stabilization commit. This
patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
PR #404 has introduced vshard 0.1.25 + Tarantool 3.0 "name as key"
identification mode based on UUIDs extraction. If works fine if
vshard configuration (or Tarantool 3.0 configuration which builds
vshard one) provides UUIDs, but fails if it isn't. Since UUIDs are
optional and won't be provided in most cases, it makes crud fails
to work on most Tarantool 3.0 vshard clusters. This patch fixes
the issue.

Now the code uses name as key, if corresponding mode is enabled, and
uuid otherwise. Patch doesn't cover `select_old` since it runs only
on pre-3.0 Tarantool. Unfortunately, code relies on vshard internals
since now there is no other way [1].

This patch covers new mode support for readview code as well. It likely
was broken before this patch even if UUIDs were provided.

1. tarantool/vshard#460

Follows #404
Closes #407
Since dev_checks are disabled in production, it affects only tests.
@DifferentialOrange DifferentialOrange force-pushed the DifferentialOrange/gh-407-no-uuid branch from cb67ba3 to c3250f0 Compare January 9, 2024 08:30
Copy link
Contributor

@better0fdead better0fdead left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi, thx for patch. See comments below.

.github/workflows/test_on_push.yaml Show resolved Hide resolved
.github/workflows/test_on_push.yaml Show resolved Hide resolved
@DifferentialOrange DifferentialOrange force-pushed the DifferentialOrange/gh-407-no-uuid branch from c3250f0 to ecada81 Compare January 10, 2024 07:38
Copy link

@askalt askalt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@DifferentialOrange DifferentialOrange merged commit cdef96d into master Jan 10, 2024
29 checks passed
@DifferentialOrange DifferentialOrange deleted the DifferentialOrange/gh-407-no-uuid branch January 10, 2024 15:02
DifferentialOrange added a commit that referenced this pull request Jan 23, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
DifferentialOrange added a commit that referenced this pull request Jan 24, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
DifferentialOrange added a commit that referenced this pull request Mar 22, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
DifferentialOrange added a commit that referenced this pull request Mar 22, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
DifferentialOrange added a commit that referenced this pull request Mar 25, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
Part of #412
Part of #415
DifferentialOrange added a commit that referenced this pull request Mar 27, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
Part of #412
Part of #415
DifferentialOrange added a commit that referenced this pull request May 20, 2024
Some read cases were missing in #404, #406 and #408 test stabilization
commits. This patch updates missing read cases.

1. https://github.com/tarantool/crud/actions/runs/7322196516/job/19943422319

Follows #404
Part of #412
Part of #415
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Сan't initialize storage/router if no UUIDs
3 participants