-
Notifications
You must be signed in to change notification settings - Fork 30
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
Compatibility fixes needed for tarantool/tarantool#8147 #440
base: master
Are you sure you want to change the base?
Compatibility fixes needed for tarantool/tarantool#8147 #440
Conversation
2c1e317
to
fa589ad
Compare
fa589ad
to
dadb0a6
Compare
In scope of tarantool/tarantool#8147, box tuples returned from remote procedure calls our now encoded as a new extension, `MP_TUPLE`, and, consequently, the results of such calls are now decoded as box tuples. For compatibility with this feature, we need to add this case to shard key hashing. Since box tuples are semantically equivalent to Lua tables, we can process them the same way. Needed for tarantool/tarantool#8147 NO_DOC=<refactoring> NO_TEST=<refactoring>
@Gerold103 I was trying to verify that the set of compatibility fixes for tarantool/tarantool#8147 is sufficient by testing against tarantool/tarantool#8630, but I see three tests fail on CI:
misc/check_uuid_on_connect.test.lua
[Instance "bad_uuid_1_b" returns with non-zero exit code: 1]
Last 15 lines of Tarantool Log file [Instance "bad_uuid_1_b"][/home/runner/work/vshard/vshard/test/var/001_misc/bad_uuid_1_b.log]:
Starting instance bad_uuid_1_b...
Start failed: builtin/box/console.lua:1014: failed to create server localhost:[47](https://github.com/tarantool/vshard/actions/runs/6663765568/job/18110171333?pr=440#step:12:48)458: Address already in use
[ fail ] Locally, all the misc tests succeed. upgrade/upgrade.test.lua [ fail ]
Test failed! Result content mismatch:
--- upgrade/upgrade.result Fri Oct 27 06:42:28 2023
+++ /home/runner/work/vshard/vshard/test/var/rejects/upgrade/upgrade.reject Fri Oct 27 06:51:52 2023
@@ -229,6 +229,9 @@
vshard.storage.cfg(cfg, util.name_to_uuid[NAME]) \
]])
| ---
+ | - error: '...rd/test/var/vshard_git_tree_copy/vshard/storage/init.lua:2152: Replicaset
+ | UUID mismatch: already set "nil" but "ac522f65-aa94-4134-9f64-51ee384f1a54" in
+ | vshard config'
| ... Seems like a transient failure from the misc test to me. I am not able to run the upgrade/upgrade test locally, since I keep getting the following error, which doesn't seem to be related to my changes: [001] Test failed! Result content mismatch:
[001] --- upgrade/upgrade.result Wed Oct 18 16:57:26 2023
[001] +++ /tmp/vshard/rejects/upgrade/upgrade.reject Fri Oct 27 10:04:32 2023
[001] @@ -31,6 +31,7 @@
[001] | ...
[001] vshard_copy_path = util.git_checkout('vshard_git_tree_copy', oldest_version)
[001] | ---
[001] + | - error: '/private/tmp/vshard/001_upgrade/git_util.lua:26: Git cmd error: 256'
[001] | ... AFAIC, I have installed all the test dependencies, I run the test like this: georgiy.lebedev@georgiy-lebedev test % /usr/bin/python3 ./test-run.py -j1 --builddir ~/Work/tarantool/build-debug/ --vardir /tmp/vshard/ --long --force upgrade/upgrade
Started ./test-run.py -j1 --builddir /Users/georgiy.lebedev/Work/tarantool/build-debug/ --vardir /tmp/vshard/ --long --force upgrade/upgrade
Running in parallel with 1 workers
Timeout options:
-------------------
REPLICATION_SYNC_TIMEOUT: 100
TEST_TIMEOUT: 110
NO_OUTPUT_TIMEOUT: 120
Collecting tests in 'failover' (Found 0 tests): Failover tests.
Collecting tests in 'misc' (Found 0 tests): Misc tests.
Collecting tests in 'multiple_routers' (Found 0 tests): Multiple routers tests.
Collecting tests in 'rebalancer' (Found 0 tests): Rebalancer tests.
Collecting tests in 'reload_evolution' (Found 0 tests): Reload evolution tests.
Collecting tests in 'replicaset-luatest' (Found 0 tests): Replicaset tests.
Collecting tests in 'router' (Found 0 tests): Router tests.
Collecting tests in 'router-luatest' (Found 0 tests): Router tests.
Collecting tests in 'storage' (Found 0 tests): Storage tests.
Collecting tests in 'storage-luatest' (Found 0 tests): Storage tests.
Collecting tests in 'unit' (Found 0 tests): Unit tests.
Collecting tests in 'unit-luatest' (Found 0 tests): Unit tests.
Collecting tests in 'unit-tap' (Found 0 tests): Unit tests TAP.
Collecting tests in 'upgrade' (Found 1 tests): Upgrade tests.
Tarantool server information
| Found executable at /Users/georgiy.lebedev/Work/tarantool/build-debug/src/tarantool
| Found tarantoolctl at /Users/georgiy.lebedev/Work/tarantool/build-debug/extra/dist/tarantoolctl |
Temporarily add tarantool/tarantool#8630 to test matrix. NO_DOC=<temporary commit> NO_TEST=<temporary commit>
dadb0a6
to
a2c4632
Compare
@Gerold103 actually, seems like with this patch to Tarantool, comptability changes to vshard are not required, since the vshard integration workflow succeeds without them. TBH, I am not sure why it helped. I guess the problem originally wasn't triggered by the hash calculation. I am leaving the PR open for now, so you can decide whether this change could actually be beneficial, feel free to close it if not. |
This patchset brings comptability fixes needed for tarantool/tarantool#8147.
Needed for tarantool/tarantool#8147