[PATCH v1] test: app/socket flaky fails at 1118 line
Alexander V. Tikhonov
avtikhon at tarantool.org
Wed Aug 14 08:27:59 MSK 2019
Found that on hard loaded hosts the test flaky fails at:
[004] --- app/socket.result Mon Jul 15 07:18:57 2019
[004] +++ app/socket.reject Tue Jul 16 16:37:35 2019
[004] @@ -1118,7 +1118,7 @@
[004] ...
[004] ch:get(1)
[004] ---
[004] -- true
[004] +- null
[004] ...
[004] s:error()
[004] ---
The issue was found at the fiber function:
f = fiber.create(function() s:read(12) ch:put(true) end)
that reads from socket and puts into the fiber with possible
delay which caused the issue. To aovid of it the fiber
function must be called in one shot by using the 'setopt
delimiter' functionality.
Fixes #4354
---
Github: https://github.com/tarantool/tarantool/tree/avtikhon/gh-4354-1118-app-socket
Issue: https://github.com/tarantool/tarantool/issues/4353
test/app/socket.result | 13 ++++++++++++-
test/app/socket.test.lua | 7 ++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/test/app/socket.result b/test/app/socket.result
index 77eff7370..138946158 100644
--- a/test/app/socket.result
+++ b/test/app/socket.result
@@ -1109,9 +1109,20 @@ s = socket.tcp_connect('127.0.0.1', port)
ch = fiber.channel()
---
...
-f = fiber.create(function() s:read(12) ch:put(true) end)
+test_run:cmd("setopt delimiter ';'")
+---
+- true
+...
+f = fiber.create(function()
+ s:read(12)
+ ch:put(true)
+end);
---
...
+test_run:cmd("setopt delimiter ''");
+---
+- true
+...
s:close()
---
- true
diff --git a/test/app/socket.test.lua b/test/app/socket.test.lua
index 7ae9a98aa..68ac4b4ac 100644
--- a/test/app/socket.test.lua
+++ b/test/app/socket.test.lua
@@ -359,7 +359,12 @@ test_run:cmd("setopt delimiter ''");
s = socket.tcp_connect('127.0.0.1', port)
ch = fiber.channel()
-f = fiber.create(function() s:read(12) ch:put(true) end)
+test_run:cmd("setopt delimiter ';'")
+f = fiber.create(function()
+ s:read(12)
+ ch:put(true)
+end);
+test_run:cmd("setopt delimiter ''");
s:close()
ch:get(1)
s:error()
--
2.17.1
More information about the Tarantool-patches
mailing list