Skip to content
Snippets Groups Projects
Commit 7bf7a0d1 authored by Georgy Kirichenko's avatar Georgy Kirichenko Committed by Roman Tsisyk
Browse files

replication: add a test case for timeouts

Fixes #2707
parent 42f8d9d8
No related branches found
No related tags found
No related merge requests found
......@@ -215,3 +215,93 @@ test_run:cmd("cleanup server replica")
---
- true
...
box.cfg{replication_timeout = 0.01}
---
...
box.schema.user.grant("guest", "replication")
---
...
test_run:cmd("start server replica")
---
- true
...
test_run:cmd("switch replica")
---
- true
...
fiber = require'fiber'
---
...
while box.info.replication[1].upstream.message ~= 'timed out' do fiber.sleep(0.0001) end
---
...
test_run:cmd("switch default")
---
- true
...
box.cfg{replication_timeout = 0.05}
---
...
test_run:cmd("switch replica")
---
- true
...
-- wait for reconnect
while box.info.replication[1].upstream.status ~= 'follow' do fiber.sleep(0.0001) end
---
...
box.info.replication[1].upstream.status
---
- follow
...
-- wait for ack timeout
while box.info.replication[1].upstream.message ~= 'timed out' do fiber.sleep(0.0001) end
---
...
test_run:cmd("switch default")
---
- true
...
box.cfg{replication_timeout = 5}
---
...
test_run:cmd("switch replica")
---
- true
...
-- wait for reconnect
while box.info.replication[1].upstream.status ~= 'follow' do fiber.sleep(0.0001) end
---
...
-- wait for ack timeout again, should be ok
fiber.sleep(0.01)
---
...
{box.info.replication[1].upstream.status, box.info.replication[1].upstream.message}
---
- - follow
...
test_run:cmd("stop server default")
---
- true
...
test_run:cmd("deploy server default")
---
- true
...
test_run:cmd("start server default")
---
- true
...
test_run:cmd("switch default")
---
- true
...
test_run:cmd("stop server replica")
---
- true
...
test_run:cmd("cleanup server replica")
---
- true
...
......@@ -92,3 +92,37 @@ test_run:cmd("start server default")
test_run:cmd("switch default")
test_run:cmd("stop server replica")
test_run:cmd("cleanup server replica")
box.cfg{replication_timeout = 0.01}
box.schema.user.grant("guest", "replication")
test_run:cmd("start server replica")
test_run:cmd("switch replica")
fiber = require'fiber'
while box.info.replication[1].upstream.message ~= 'timed out' do fiber.sleep(0.0001) end
test_run:cmd("switch default")
box.cfg{replication_timeout = 0.05}
test_run:cmd("switch replica")
-- wait for reconnect
while box.info.replication[1].upstream.status ~= 'follow' do fiber.sleep(0.0001) end
box.info.replication[1].upstream.status
-- wait for ack timeout
while box.info.replication[1].upstream.message ~= 'timed out' do fiber.sleep(0.0001) end
test_run:cmd("switch default")
box.cfg{replication_timeout = 5}
test_run:cmd("switch replica")
-- wait for reconnect
while box.info.replication[1].upstream.status ~= 'follow' do fiber.sleep(0.0001) end
-- wait for ack timeout again, should be ok
fiber.sleep(0.01)
{box.info.replication[1].upstream.status, box.info.replication[1].upstream.message}
test_run:cmd("stop server default")
test_run:cmd("deploy server default")
test_run:cmd("start server default")
test_run:cmd("switch default")
test_run:cmd("stop server replica")
test_run:cmd("cleanup server replica")
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment