tarantool / vshard

The new generation of sharding based on virtual buckets
Other
99 stars 30 forks source link

Compatibility fixes needed for tarantool/tarantool#8147 #440

Open CuriousGeorgiy opened 1 year ago

CuriousGeorgiy commented 1 year ago

This patchset brings comptability fixes needed for tarantool/tarantool#8147.

Needed for tarantool/tarantool#8147

CuriousGeorgiy commented 1 year ago

@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:

  1. I don't understand why the misc tests fail:
    
    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:47458: Address already in use [ fail ]

Locally, all the misc tests succeed.
2. I don't understand why the upgrade/upgrade test fails:
```console
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
CuriousGeorgiy commented 1 year ago

@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.