[Tarantool-patches] [PATCH vshard 1/5] router: backoff on some box errors
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Sat Dec 18 02:10:18 MSK 2021
Hi! Thanks for the review!
On 17.12.2021 12:09, Oleg Babin wrote:
> Thanks for your patch! LGTM. But I think tests should be extended a bit.
>
> I see that tests cover AccessDenied error but I don't see that there is simple error()/assert() error check.
I hope you meant this:
====================
diff --git a/test/router/router2.result b/test/router/router2.result
index a501dbf..85d077a 100644
--- a/test/router/router2.result
+++ b/test/router/router2.result
@@ -548,6 +548,28 @@ vshard.storage.call = old_storage_call
| ---
| ...
+--
+-- Fails without backoff for other errors.
+--
+test_run:switch('router_1')
+ | ---
+ | - true
+ | ...
+fiber.sleep(vshard.consts.REPLICA_BACKOFF_INTERVAL)
+ | ---
+ | ...
+rs = vshard.router.route(1)
+ | ---
+ | ...
+ok, err = rs:callro('vshard.storage.call', {1, 'badmode', 'echo', {100}}, \
+ long_timeout)
+ | ---
+ | ...
+assert(not ok and err.message:match('Unknown mode') ~= nil)
+ | ---
+ | - true
+ | ...
+
_ = test_run:switch("default")
| ---
| ...
diff --git a/test/router/router2.test.lua b/test/router/router2.test.lua
index fb0c3b2..a2171fa 100644
--- a/test/router/router2.test.lua
+++ b/test/router/router2.test.lua
@@ -216,6 +216,16 @@ test_run:switch('storage_2_a')
assert(echo_count == 0)
vshard.storage.call = old_storage_call
+--
+-- Fails without backoff for other errors.
+--
+test_run:switch('router_1')
+fiber.sleep(vshard.consts.REPLICA_BACKOFF_INTERVAL)
+rs = vshard.router.route(1)
+ok, err = rs:callro('vshard.storage.call', {1, 'badmode', 'echo', {100}}, \
+ long_timeout)
+assert(not ok and err.message:match('Unknown mode') ~= nil)
+
_ = test_run:switch("default")
_ = test_run:cmd("stop server router_1")
_ = test_run:cmd("cleanup server router_1")
More information about the Tarantool-patches
mailing list