1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
test_run = require('test_run').new()
fiber = require('fiber')
net_box = require('net.box')
box.schema.user.grant('guest', 'read,write,execute', 'universe')
s = box.schema.space.create('test')
_ = s:create_index('primary', {unique=true, parts={1, 'unsigned', 2, 'unsigned', 3, 'unsigned'}})
n_workers = 0
test_run:cmd("setopt delimiter ';'")
function worker(i)
n_workers = n_workers + 1
for j = 1,2 do
local conn = net_box.connect(box.cfg.listen)
for k = 1,10 do
conn.space.test:insert{i, j, k}
end
conn:close()
fiber.sleep(1)
end
n_workers = n_workers - 1
end;
test_run:cmd("setopt delimiter ''");
for i = 1,5000 do fiber.create(worker, i) end
fiber.sleep(0.1)
-- check that iproto doesn't deplete tx fiber pool on wal stall (see gh-1892)
box.error.injection.set("ERRINJ_WAL_DELAY", true)
fiber.sleep(1.0)
box.error.injection.set("ERRINJ_WAL_DELAY", false)
repeat fiber.sleep(1) until n_workers == 0
box.schema.user.revoke('guest', 'read,write,execute', 'universe')
s:drop()
|