From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 2206245C307 for ; Mon, 7 Dec 2020 10:51:05 +0300 (MSK) From: sergeyb@tarantool.org Date: Mon, 7 Dec 2020 10:46:47 +0300 Message-Id: <9f4aca80dafbc8fb0ef8fb306927e78eef7fb3ef.1607326642.git.sergeyb@tarantool.org> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 1/6] test: support Python 3 and make quotes use consistent List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org, lvasiliev@tarantool.org Cc: alexander.turenko@tarantool.org From: Sergey Bronnikov - convert print statement to function. In a Python 3 'print' becomes a function, see [1]. Patch makes 'print' in a regression tests compatible with Python 3. - according to PEP8, mixing using double quotes and quotes in a project looks inconsistent (one must be selected). Patch makes using quotes with strings consistent. - convert iteritems() to list - print multiline strings with multiple print() - use "format()" instead of "%" everywhere 1. https://docs.python.org/3/whatsnew/3.0.html#print-is-a-function Closes #5538 --- test/app-tap/httpd.py | 42 +- test/box-py/args.test.py | 14 +- test/box-py/bad_trigger.result | 2 - test/box-py/bad_trigger.test.py | 20 +- test/box-py/bootstrap.result | 2 +- test/box-py/bootstrap.test.py | 16 +- test/box-py/call.result | 12 +- test/box-py/call.test.py | 92 +- test/box-py/iproto.result | 10 +- test/box-py/iproto.test.py | 218 ++- test/box-py/print.result | 6 +- test/box-py/print.test.py | 24 +- test/box-py/snapshot.result | 4 +- test/box-py/snapshot.test.py | 33 +- test/long_run-py/finalizers.result | 2 +- test/long_run-py/finalizers.test.py | 8 +- test/replication-py/cluster.result | 6 +- test/replication-py/cluster.test.py | 217 +-- test/replication-py/conflict.test.py | 54 +- test/replication-py/init_storage.test.py | 48 +- test/replication-py/multi.test.py | 78 +- test/replication-py/swap.result | 1600 +++++++++++----------- test/replication-py/swap.test.py | 52 +- test/xlog-py/big_lsn.test.py | 4 +- test/xlog-py/dup_key.test.py | 17 +- test/xlog-py/empty.test.py | 4 +- test/xlog-py/lsn_gap.test.py | 10 +- test/xlog-py/misc.test.py | 33 +- test/xlog-py/missing.test.py | 10 +- 29 files changed, 1324 insertions(+), 1314 deletions(-) diff --git a/test/app-tap/httpd.py b/test/app-tap/httpd.py index b4662bc1f..b57ef1e39 100755 --- a/test/app-tap/httpd.py +++ b/test/app-tap/httpd.py @@ -6,35 +6,35 @@ from gevent import spawn, sleep, socket def absent(): code = "500 Server Error" - headers = [('Content-Type', 'application/json')] + headers = [("Content-Type", "application/json")] body = ["No such method"] return code, body, headers def hello(): code = "200 OK" body = ["hello world"] - headers = [('Content-Type', 'application/json')] + headers = [("Content-Type", "application/json")] return code, body, headers def hello1(): code = "200 OK" body = [b"abc"] - headers = [('Content-Type', 'application/json')] + headers = [("Content-Type", "application/json")] return code, body, headers def headers(): code = "200 OK" body = [b"cookies"] - headers = [('Content-Type', 'application/json'), - ('Content-Type', 'application/yaml'), - ('Set-Cookie', 'likes=cheese; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly'), - ('Set-Cookie', 'bad@name=no;'), - ('Set-Cookie', 'badcookie'), - ('Set-Cookie', 'good_name=yes;'), - ('Set-Cookie', 'age = 17; NOSuchOption; EmptyOption=Value;Secure'), - ('my_header', 'value1'), - ('my_header', 'value2'), - ('very_very_very_long_headers_name1', 'true'), + headers = [("Content-Type", "application/json"), + ("Content-Type", "application/yaml"), + ("Set-Cookie", "likes=cheese; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Secure; HttpOnly"), + ("Set-Cookie", "bad@name=no;"), + ("Set-Cookie", "badcookie"), + ("Set-Cookie", "good_name=yes;"), + ("Set-Cookie", "age = 17; NOSuchOption; EmptyOption=Value;Secure"), + ("my_header", "value1"), + ("my_header", "value2"), + ("very_very_very_long_headers_name1", "true"), ] return code, body, headers @@ -42,13 +42,13 @@ def long_query(): sleep(0.005) code = "200 OK" body = [b"abc"] - headers = [('Content-Type', 'application/json')] + headers = [("Content-Type", "application/json")] return code, body, headers def redirect(): code = "302 Found" body = ["redirecting"] - headers = [('Location', '/')] + headers = [("Location", "/")] return code, body, headers paths = { @@ -63,7 +63,7 @@ paths = { def read_handle(env, response): code = "404 Not Found" headers = [] - body = ['Not Found'] + body = ["Not Found"] if env["PATH_INFO"] in paths: code, body, headers = paths[env["PATH_INFO"]]() for key,value in env.iteritems(): @@ -74,7 +74,7 @@ def read_handle(env, response): def post_handle(env, response): code = "200 OK" - body = [env['wsgi.input'].read()] + body = [env["wsgi.input"].read()] headers = [] for key,value in env.iteritems(): if "HTTP_" in key: @@ -83,7 +83,7 @@ def post_handle(env, response): return body def other_handle(env, response, method, code): - headers = [('Content-Type', 'text/plain'), ("method", method)] + headers = [("Content-Type", "text/plain"), ("method", method)] body = [method] for key,value in env.iteritems(): if "HTTP_" in key: @@ -119,15 +119,15 @@ def heartbeat(): sys.exit(1) def usage(): - sys.stderr.write("Usage: %s { --inet HOST:PORT | --unix PATH }\n" % - sys.argv[0]) + message = "Usage: {} {{ --inet HOST:PORT | --unix PATH }}\n".format(sys.argv[0]) + sys.stderr.write(message) sys.exit(1) if len(sys.argv) != 3: usage() if sys.argv[1] == "--inet": - host, port = sys.argv[2].split(':') + host, port = sys.argv[2].split(":") sock_family = socket.AF_INET sock_addr = (host, int(port)) elif sys.argv[1] == "--unix": diff --git a/test/box-py/args.test.py b/test/box-py/args.test.py index c0fac9038..f1b840a85 100644 --- a/test/box-py/args.test.py +++ b/test/box-py/args.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import sys import os import re @@ -5,7 +7,7 @@ import re # Disabled on OpenBSD due to fail #XXXX. import platform -if platform.system() == 'OpenBSD': +if platform.system() == "OpenBSD": self.skip = 1 # mask BFD warnings: https://bugs.launchpad.net/tarantool/+bug/1018356 @@ -13,9 +15,9 @@ sys.stdout.push_filter("unable to read unknown load command 0x2\d+", "") server.test_option("--help") server.test_option("-h") # Replace with the same value for case when builddir inside source dir -sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")+'/src/tarantool'), "tarantool") +sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")+"/src/tarantool"), "tarantool") sys.stdout.push_filter(re.escape(os.getenv("BUILDDIR")), "${SOURCEDIR}") -sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")+'/src/tarantool'), "tarantool") +sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")+"/src/tarantool"), "tarantool") sys.stdout.push_filter(re.escape(os.getenv("SOURCEDIR")), "${SOURCEDIR}") sys.stdout.push_filter("invalid option.*", "invalid option") sys.stdout.push_filter("unrecognized option.*", "unrecognized option") @@ -44,11 +46,11 @@ server.test_option(script + " --help 1 2 3") server.test_option("-V " + script + " 1 2 3") # gh-3966: os.exit() hangs if called by a command from the argument list. -server.test_option("-e \"print(1) os.exit() print(2)\"") -server.test_option("-e \"print(1)\" -e \"os.exit()\" -e \"print(1)\" -e \"os.exit()\" -e \"print(1)\"") +server.test_option("-e 'print(1) os.exit() print(2)'") +server.test_option("-e 'print(1)' -e 'os.exit()' -e 'print(1)' -e 'os.exit()' -e 'print(1)'") server.test_option("-e \"print('Hello')\" " + script + " 1 2 3") -server.test_option("-e \"a = 10\" " + \ +server.test_option("-e 'a = 10' " + \ "-e print(a) " + \ script + \ " 1 2 3 --help") diff --git a/test/box-py/bad_trigger.result b/test/box-py/bad_trigger.result index 5d064b764..42cd9a7e8 100644 --- a/test/box-py/bad_trigger.result +++ b/test/box-py/bad_trigger.result @@ -1,8 +1,6 @@ - # # if on_connect() trigger raises an exception, the connection is dropped # - nosuchfunction = nil --- ... diff --git a/test/box-py/bad_trigger.test.py b/test/box-py/bad_trigger.test.py index 7d200b921..789fe8045 100644 --- a/test/box-py/bad_trigger.test.py +++ b/test/box-py/bad_trigger.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + from lib.box_connection import BoxConnection from lib.tarantool_connection import TarantoolConnection from tarantool import NetworkError @@ -6,11 +8,9 @@ from tarantool.const import IPROTO_GREETING_SIZE, IPROTO_CODE, IPROTO_ERROR, \ import socket import msgpack -print """ - # - # if on_connect() trigger raises an exception, the connection is dropped - # - """ +print(" #") +print(" # if on_connect() trigger raises an exception, the connection is dropped") +print(" #") # silence possible error of strict mode server.admin("nosuchfunction = nil") @@ -24,12 +24,12 @@ conn.connect() s = conn.socket # Read greeting -print 'greeting: ', len(s.recv(IPROTO_GREETING_SIZE)) == IPROTO_GREETING_SIZE +print("greeting: {}".format(len(s.recv(IPROTO_GREETING_SIZE)) == IPROTO_GREETING_SIZE)) # Read error packet IPROTO_FIXHEADER_SIZE = 5 fixheader = s.recv(IPROTO_FIXHEADER_SIZE) -print 'fixheader: ', len(fixheader) == IPROTO_FIXHEADER_SIZE +print("fixheader: {}".format(len(fixheader) == IPROTO_FIXHEADER_SIZE)) unpacker.feed(fixheader) packet_len = unpacker.unpack() packet = s.recv(packet_len) @@ -38,9 +38,9 @@ unpacker.feed(packet) # Parse packet header = unpacker.unpack() body = unpacker.unpack() -print 'error code', (header[IPROTO_CODE] & (REQUEST_TYPE_ERROR - 1)) -print 'error message: ', body[IPROTO_ERROR] -print 'eof:', len(s.recv(1024)) == 0 +print("error code {}".format((header[IPROTO_CODE] & (REQUEST_TYPE_ERROR - 1)))) +print("error message: {}".format(body[IPROTO_ERROR])) +print("eof: {}".format(len(s.recv(1024)) == 0)) s.close() server.admin("box.session.on_connect(nil, f1)") diff --git a/test/box-py/bootstrap.result b/test/box-py/bootstrap.result index 0876e77a6..865302698 100644 --- a/test/box-py/bootstrap.result +++ b/test/box-py/bootstrap.result @@ -165,7 +165,7 @@ box.space._user:select{} - [3, 1, 'replication', 'role', {}] - [31, 1, 'super', 'role', {}] ... -for _, v in box.space._func:pairs{} do r = {} table.insert(r, v:update({{"=", 18, ""}, {"=", 19, ""}})) return r end +for _, v in box.space._func:pairs{} do r = {} table.insert(r, v:update({{'=', 18, ''}, {'=', 19, ''}})) return r end --- - - [1, 1, 'box.schema.user.info', 1, 'LUA', '', 'function', [], 'any', 'none', 'none', false, false, true, ['LUA'], {}, '', '', ''] diff --git a/test/box-py/bootstrap.test.py b/test/box-py/bootstrap.test.py index 63c13e8a4..f7c846bf1 100644 --- a/test/box-py/bootstrap.test.py +++ b/test/box-py/bootstrap.test.py @@ -1,11 +1,11 @@ -server.admin('box.internal.bootstrap()') -server.admin('box.space._schema:select{}') -server.admin('box.space._cluster:select{}') -server.admin('box.space._space:select{}') -server.admin('box.space._index:select{}') -server.admin('box.space._user:select{}') -server.admin('for _, v in box.space._func:pairs{} do r = {} table.insert(r, v:update({{"=", 18, ""}, {"=", 19, ""}})) return r end') -server.admin('box.space._priv:select{}') +server.admin("box.internal.bootstrap()") +server.admin("box.space._schema:select{}") +server.admin("box.space._cluster:select{}") +server.admin("box.space._space:select{}") +server.admin("box.space._index:select{}") +server.admin("box.space._user:select{}") +server.admin("for _, v in box.space._func:pairs{} do r = {} table.insert(r, v:update({{'=', 18, ''}, {'=', 19, ''}})) return r end") +server.admin("box.space._priv:select{}") # Cleanup server.stop() diff --git a/test/box-py/call.result b/test/box-py/call.result index d340ed6fa..e6b7b8dc9 100644 --- a/test/box-py/call.result +++ b/test/box-py/call.result @@ -536,10 +536,10 @@ function f(...) return ... end call f({'k2': 'v2', 'k1': 'v1'}) --- - {'k2': 'v2', 'k1': 'v1'} -eval (return space:auto_increment({"transaction"}))() +eval (return space:auto_increment({'transaction'}))() --- - [1, 'transaction'] -function f(...) return space:auto_increment({"transaction"}) end +function f(...) return space:auto_increment({'transaction'}) end --- ... call f() @@ -554,11 +554,11 @@ function f(...) return space:select{} end call f() --- - [[1, 'transaction'], [2, 'transaction']] -eval (return box.begin(), space:auto_increment({"failed"}), box.rollback())() +eval (return box.begin(), space:auto_increment({'failed'}), box.rollback())() --- - None - [3, 'failed'] -function f(...) return box.begin(), space:auto_increment({"failed"}), box.rollback() end +function f(...) return box.begin(), space:auto_increment({'failed'}), box.rollback() end --- ... call f() @@ -574,10 +574,10 @@ function f(...) return space:select{} end call f() --- - [[1, 'transaction'], [2, 'transaction']] -eval (return require("fiber").sleep(0))() +eval (return require('fiber').sleep(0))() --- -function f(...) return require("fiber").sleep(0) end +function f(...) return require('fiber').sleep(0) end --- ... call f() diff --git a/test/box-py/call.test.py b/test/box-py/call.test.py index 974ba0cac..75ced1dff 100644 --- a/test/box-py/call.test.py +++ b/test/box-py/call.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import sys @@ -6,9 +8,9 @@ def call(name, *args): admin("box.schema.user.create('test', { password = 'test' })") admin("box.schema.user.grant('test', 'execute,read,write', 'universe')") -iproto.authenticate('test', 'test') +iproto.authenticate("test", "test") # workaround for gh-770 centos 6 float representation -admin('exp_notation = 1e123') +admin("exp_notation = 1e123") admin("function f1() return 'testing', 1, false, -1, 1.123, math.abs(exp_notation - 1e123) < 0.1, nil end") admin("f1()") call("f1") @@ -19,13 +21,13 @@ call("f1") # A test case for https://github.com/tarantool/tarantool/issues/44 # IPROTO required! -call("box.error", 33333, 'Hey!') +call("box.error", 33333, "Hey!") -print """ -# A test case for Bug#103491 -# server CALL processing bug with name path longer than two -# https://bugs.launchpad.net/tarantool/+bug/1034912 -""" +print("") +print("# A test case for Bug#103491") +print("# server CALL processing bug with name path longer than two") +print("# https://bugs.launchpad.net/tarantool/+bug/1034912") +print("") admin("f = function() return 'OK' end") admin("test = {}") admin("test.f = f") @@ -35,11 +37,11 @@ call("f") call("test.f") call("test.test.f") -print """ -# Test for Bug #955226 -# Lua Numbers are passed back wrongly as strings -# -""" +print("") +print("# Test for Bug #955226") +print("# Lua Numbers are passed back wrongly as strings") +print("#") +print("") admin("function foo() return 1, 2, '1', '2' end") call("foo") @@ -48,8 +50,8 @@ call("foo") # admin("function f1(...) return {...} end") admin("function f2(...) return f1({...}) end") -call("f1", 'test_', 'test_') -call("f2", 'test_', 'test_') +call("f1", "test_", "test_") +call("f2", "test_", "test_") call("f1") call("f2") # @@ -72,8 +74,8 @@ call("f3") admin("function f3() return { { test={1,2,3} }, { test2={1,2,3} } } end") call("f3") -call("f1", 'jason') -call("f1", 'jason', 1, 'test', 2, 'stewart') +call("f1", "jason") +call("f1", "jason", 1, "test", 2, "stewart") admin("space = box.schema.space.create('tweedledum')") admin("index = space:create_index('primary', { type = 'hash' })") @@ -81,30 +83,30 @@ admin("index = space:create_index('primary', { type = 'hash' })") admin("function myreplace(...) return space:replace{...} end") admin("function myinsert(...) return space:insert{...} end") -call("myinsert", 1, 'test box delete') +call("myinsert", 1, "test box delete") call("space:delete", 1) -call("myinsert", 1, 'test box delete') +call("myinsert", 1, "test box delete") call("space:delete", 1) call("space:delete", 1) -call("myinsert", 2, 'test box delete') +call("myinsert", 2, "test box delete") call("space:delete", 1) call("space:delete", 2) call("space:delete", 2) admin("space:delete{2}") -call("myinsert", 2, 'test box delete') +call("myinsert", 2, "test box delete") call("space:get", 2) admin("space:delete{2}") call("space:get", 2) -call("myinsert", 2, 'test box.select()') +call("myinsert", 2, "test box.select()") call("space:get", 2) call("space:select", 2) admin("space:get{2}") admin("space:select{2}") admin("space:get{1}") admin("space:select{1}") -call("myreplace", 2, 'hello', 'world') -call("myreplace", 2, 'goodbye', 'universe') +call("myreplace", 2, "hello", "world") +call("myreplace", 2, "goodbye", "universe") call("space:get", 2) call("space:select", 2) admin("space:get{2}") @@ -114,9 +116,9 @@ call("space:get", 2) call("space:select", 2) call("space:delete", 2) call("space:delete", 2) -call("myinsert", 3, 'old', 2) +call("myinsert", 3, "old", 2) # test that insert produces a duplicate key error -call("myinsert", 3, 'old', 2) +call("myinsert", 3, "old", 2) admin("space:update({3}, {{'=', 1, 4}, {'=', 2, 'new'}})") admin("space:insert(space:get{3}:update{{'=', 1, 4}, {'=', 2, 'new'}}) space:delete{3}") call("space:get", 4) @@ -136,19 +138,19 @@ admin("index = space:create_index('primary', { type = 'tree' })") def lua_eval(name, *args): - print 'eval (%s)(%s)' % (name, ','.join([ str(arg) for arg in args])) - print '---' - print iproto.py_con.eval(name, args) + print("eval ({})({})".format(name, ",".join([ str(arg) for arg in args]))) + print("---") + print(iproto.py_con.eval(name, args)) def lua_call(name, *args): - print 'call %s(%s)' % (name, ','.join([ str(arg) for arg in args])) - print '---' - print iproto.py_con.call(name, args) + print("call {}({})".format(name, ",".join([ str(arg) for arg in args]))) + print("---") + print(iproto.py_con.call(name, args)) def test(expr, *args): - lua_eval('return ' + expr, *args) - admin('function f(...) return ' + expr + ' end') - lua_call('f', *args) + lua_eval("return " + expr, *args) + admin("function f(...) return " + expr + " end") + lua_call("f", *args) # Return values test("1") @@ -172,18 +174,18 @@ test("{t}") test("{t, t, t}") test("error('exception')") test("box.error(0)") -test('...') -test('...', 1, 2, 3) -test('...', None, None, None) -test('...', { 'k1': 'v1', 'k2': 'v2'}) +test("...") +test("...", 1, 2, 3) +test("...", None, None, None) +test("...", { "k1": "v1", "k2": "v2"}) # Transactions -test('space:auto_increment({"transaction"})') -test('space:select{}') -test('box.begin(), space:auto_increment({"failed"}), box.rollback()') -test('space:select{}') -test('require("fiber").sleep(0)') +test("space:auto_increment({'transaction'})") +test("space:select{}") +test("box.begin(), space:auto_increment({'failed'}), box.rollback()") +test("space:select{}") +test("require('fiber').sleep(0)") # Other -lua_eval('!invalid expression') +lua_eval("!invalid expression") admin("space:drop()") admin("box.schema.user.drop('test')") diff --git a/test/box-py/iproto.result b/test/box-py/iproto.result index 04e2e220c..0f2766871 100644 --- a/test/box-py/iproto.result +++ b/test/box-py/iproto.result @@ -1,21 +1,15 @@ box.schema.user.grant('guest', 'read,write,execute', 'universe') --- ... - # # iproto packages test # - - # Test bug #899343 (server assertion failure on incorrect packet) - # send the package with invalid length 12 # check that is server alive True - -# Test gh-206 "Segfault if sending IPROTO package without `KEY` field" - +# Test gh-206 'Segfault if sending IPROTO package without `KEY` field' IPROTO_SELECT query {'IPROTO_CODE': 1} {'IPROTO_SPACE_ID': 280} True @@ -165,10 +159,8 @@ space:drop() box.schema.user.revoke('guest', 'read,write,execute', 'universe') --- ... - # Test bugs gh-272, gh-1654 if the packet was incorrect, respond with # an error code and do not close connection - sync=0, Invalid MsgPack - packet header sync=1234, Missing mandatory field 'space id' in request sync=5678, Read access to space '_user' is denied for user 'guest' diff --git a/test/box-py/iproto.test.py b/test/box-py/iproto.test.py index cdd1a71c5..5eccd40d3 100644 --- a/test/box-py/iproto.test.py +++ b/test/box-py/iproto.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import sys import struct @@ -11,46 +13,42 @@ from lib.tarantool_connection import TarantoolConnection admin("box.schema.user.grant('guest', 'read,write,execute', 'universe')") -print """ -# -# iproto packages test -# -""" +print("#") +print("# iproto packages test") +print("#") -# opeing new connection to tarantool/box +# opening new connection to tarantool/box conn = TarantoolConnection(server.iproto.host, server.iproto.port) conn.connect() s = conn.socket -print """ -# Test bug #899343 (server assertion failure on incorrect packet) -""" -print "# send the package with invalid length" -invalid_request = struct.pack(' 0 +print("# Test bug #899343 (server assertion failure on incorrect packet)") +print("# send the package with invalid length") +invalid_request = struct.pack(" 0) # closing connection s.close() key_names = {} -for (k,v) in globals().items(): - if type(k) == str and k.startswith('IPROTO_') and type(v) == int: +for (k,v) in list(globals().items()): + if type(k) == str and k.startswith("IPROTO_") and type(v) == int: key_names[v] = k def repr_dict(todump): d = {} - for (k, v) in todump.items(): + for (k, v) in list(todump.items()): k_name = key_names.get(k, k) d[k_name] = v return repr(d) def test(header, body): # Connect and authenticate - c = Connection('localhost', server.iproto.port) + c = Connection("localhost", server.iproto.port) c.connect() - print 'query', repr_dict(header), repr_dict(body) + print("query", repr_dict(header), repr_dict(body)) header = msgpack.dumps(header) body = msgpack.dumps(body) query = msgpack.dumps(len(header) + len(body)) + header + body @@ -59,36 +57,34 @@ def test(header, body): try: s.send(query) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") c.close() - print iproto.py_con.ping() > 0 + print(iproto.py_con.ping() > 0) -print """ -# Test gh-206 "Segfault if sending IPROTO package without `KEY` field" -""" +print("# Test gh-206 'Segfault if sending IPROTO package without `KEY` field'") -print "IPROTO_SELECT" +print("IPROTO_SELECT") test({ IPROTO_CODE : REQUEST_TYPE_SELECT }, { IPROTO_SPACE_ID: 280 }) -print "\n" +print("\n") -print "IPROTO_DELETE" +print("IPROTO_DELETE") test({ IPROTO_CODE : REQUEST_TYPE_DELETE }, { IPROTO_SPACE_ID: 280 }) -print "\n" +print("\n") -print "IPROTO_UPDATE" +print("IPROTO_UPDATE") test({ IPROTO_CODE : REQUEST_TYPE_UPDATE }, { IPROTO_SPACE_ID: 280 }) test({ IPROTO_CODE : REQUEST_TYPE_UPDATE }, { IPROTO_SPACE_ID: 280, IPROTO_KEY: (1, )}) -print "\n" +print("\n") -print "IPROTO_REPLACE" +print("IPROTO_REPLACE") test({ IPROTO_CODE : REQUEST_TYPE_REPLACE }, { IPROTO_SPACE_ID: 280 }) -print "\n" +print("\n") -print "IPROTO_CALL" +print("IPROTO_CALL") test({ IPROTO_CODE : REQUEST_TYPE_CALL }, {}) -test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ('procname', )}) -print "\n" +test({ IPROTO_CODE : REQUEST_TYPE_CALL }, { IPROTO_KEY: ("procname", )}) +print("\n") # gh-434 Tarantool crashes on multiple iproto requests with WAL enabled admin("box.cfg.wal_mode") @@ -96,7 +92,7 @@ admin("space = box.schema.space.create('test', { id = 567 })") admin("index = space:create_index('primary', { type = 'hash' })") admin("box.schema.user.grant('guest', 'read,write,execute', 'space', 'test')") -c = Connection('localhost', server.iproto.port) +c = Connection("localhost", server.iproto.port) c.connect() request1 = RequestInsert(c, 567, [1, "baobab"]) request2 = RequestInsert(c, 567, [2, "obbaba"]) @@ -104,11 +100,11 @@ s = c._socket try: s.send(bytes(request1) + bytes(request2)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response1 = Response(c, c._read_response()) response2 = Response(c, c._read_response()) -print response1.__str__() -print response2.__str__() +print(response1.__str__()) +print(response2.__str__()) request1 = RequestInsert(c, 567, [3, "occama"]) request2 = RequestSelect(c, 567, 0, [1], 0, 1, 0) @@ -116,11 +112,11 @@ s = c._socket try: s.send(bytes(request1) + bytes(request2)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response1 = Response(c, c._read_response()) response2 = Response(c, c._read_response()) -print response1.__str__() -print response2.__str__() +print(response1.__str__()) +print(response2.__str__()) request1 = RequestSelect(c, 567, 0, [2], 0, 1, 0) request2 = RequestInsert(c, 567, [4, "ockham"]) @@ -128,11 +124,11 @@ s = c._socket try: s.send(bytes(request1) + bytes(request2)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response1 = Response(c, c._read_response()) response2 = Response(c, c._read_response()) -print response1.__str__() -print response2.__str__() +print(response1.__str__()) +print(response2.__str__()) request1 = RequestSelect(c, 567, 0, [1], 0, 1, 0) request2 = RequestSelect(c, 567, 0, [2], 0, 1, 0) @@ -140,11 +136,11 @@ s = c._socket try: s.send(bytes(request1) + bytes(request2)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response1 = Response(c, c._read_response()) response2 = Response(c, c._read_response()) -print response1.__str__() -print response2.__str__() +print(response1.__str__()) +print(response2.__str__()) c.close() @@ -176,7 +172,7 @@ class RawSelect(Request): self._body = request_body c = iproto.py_con -space = c.space('test') +space = c.space("test") space_id = space.space_no TESTS = [ @@ -192,34 +188,34 @@ TESTS = [ for test in TESTS: it = iter(test) size = next(it) - print 'STR', size - print '--' + print("STR", size) + print("--") for fmt in it: - print '0x' + fmt.encode('hex'), '=>', - field = '*' * size + print("0x" + fmt.encode("hex"), "=>", end=" ") + field = "*" * size c._send_request(RawInsert(c, space_id, "\x91" + fmt + field)) tuple = space.select(field)[0] - print len(tuple[0])== size and 'ok' or 'fail', + print(len(tuple[0])== size and "ok" or "fail", end=" ") it2 = iter(test) next(it2) for fmt2 in it2: tuple = c._send_request(RawSelect(c, space_id, "\x91" + fmt2 + field))[0] - print len(tuple[0]) == size and 'ok' or 'fail', + print(len(tuple[0]) == size and "ok" or "fail", end=" ") tuple = space.delete(field)[0] - print len(tuple[0]) == size and 'ok' or 'fail', - print - print + print(len(tuple[0]) == size and "ok" or "fail", end="") + print() + print() -print 'Test of schema_id in iproto.' -c = Connection('localhost', server.iproto.port) +print("Test of schema_id in iproto.") +c = Connection("localhost", server.iproto.port) c.connect() s = c._socket def receive_response(): - resp_len = '' - resp_headerbody = '' + resp_len = "" + resp_headerbody = "" resp_header = {} resp_body = {} try: @@ -235,10 +231,10 @@ def receive_response(): resp_header = unpacker.unpack() resp_body = unpacker.unpack() except OSError as e: - print ' => ', 'Failed to recv response' + print(" => ", "Failed to recv response") res = {} - res['header'] = resp_header - res['body'] = resp_body + res["header"] = resp_header + res["body"] = resp_body return res def test_request(req_header, req_body): @@ -249,7 +245,7 @@ def test_request(req_header, req_body): try: s.send(query) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") return receive_response() header = { IPROTO_CODE : REQUEST_TYPE_SELECT} @@ -260,62 +256,62 @@ body = { IPROTO_SPACE_ID: space_id, IPROTO_OFFSET: 0, IPROTO_LIMIT: 1 } resp = test_request(header, body) -print 'Normal connect done w/o errors:', resp['header'][0] == 0 -print 'Got schema_id:', resp['header'][5] > 0 -schema_id = resp['header'][5] +print("Normal connect done w/o errors:", resp["header"][0] == 0) +print("Got schema_id:", resp["header"][5] > 0) +schema_id = resp["header"][5] header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : 0 } resp = test_request(header, body) -print 'Zero-schema_id connect done w/o errors:', resp['header'][0] == 0 -print 'Same schema_id:', resp['header'][5] == schema_id +print("Zero-schema_id connect done w/o errors:", resp["header"][0] == 0) +print("Same schema_id:", resp["header"][5] == schema_id) header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id } resp = test_request(header, body) -print 'Normal connect done w/o errors:', resp['header'][0] == 0 -print 'Same schema_id:', resp['header'][5] == schema_id +print("Normal connect done w/o errors:", resp["header"][0] == 0) +print("Same schema_id:", resp["header"][5] == schema_id) header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id + 1 } resp = test_request(header, body) -print 'Wrong schema_id leads to error:', resp['header'][0] != 0 -print 'Same schema_id:', resp['header'][5] == schema_id +print("Wrong schema_id leads to error:", resp["header"][0] != 0) +print("Same schema_id:", resp["header"][5] == schema_id) admin("space2 = box.schema.create_space('test2')") header = { IPROTO_CODE : REQUEST_TYPE_SELECT, 5 : schema_id } resp = test_request(header, body) -print 'Schema changed -> error:', resp['header'][0] != 0 -print 'Got another schema_id:', resp['header'][5] != schema_id +print("Schema changed -> error:", resp["header"][0] != 0) +print("Got another schema_id:", resp["header"][5] != schema_id) # # gh-2334 Lost SYNC in JOIN response. # -uuid = '0d5bd431-7f3e-4695-a5c2-82de0a9cbc95' +uuid = "0d5bd431-7f3e-4695-a5c2-82de0a9cbc95" header = { IPROTO_CODE: REQUEST_TYPE_JOIN, IPROTO_SYNC: 2334 } body = { IPROTO_SERVER_UUID: uuid } resp = test_request(header, body) -if resp['header'][IPROTO_SYNC] == 2334: +if resp["header"][IPROTO_SYNC] == 2334: i = 1 while i < 3: resp = receive_response() - if resp['header'][IPROTO_SYNC] != 2334: - print 'Bad sync on response with number ', i + if resp["header"][IPROTO_SYNC] != 2334: + print("Bad sync on response with number ", i) break - if resp['header'][IPROTO_CODE] == REQUEST_TYPE_OK: + if resp["header"][IPROTO_CODE] == REQUEST_TYPE_OK: i += 1 else: - print 'Sync ok' + print("Sync ok") else: - print 'Bad first sync' + print("Bad first sync") # # Try incorrect JOIN. SYNC must be also returned. # -body[IPROTO_SERVER_UUID] = 'unknown' +body[IPROTO_SERVER_UUID] = "unknown" resp = test_request(header, body) -if resp['header'][IPROTO_SYNC] == 2334: - print('Sync on error is ok') +if resp["header"][IPROTO_SYNC] == 2334: + print("Sync on error is ok") else: - print('Sync on error is not ok') + print("Sync on error is not ok") c.close() @@ -332,8 +328,8 @@ admin("space:insert({1})") admin("space:insert({2, 'Music'})") admin("space:insert({3, 'Length', 93})") -iproto.py_con.space('gh1280').select([]) -iproto.py_con.space('gh1280').select(list()) +iproto.py_con.space("gh1280").select([]) +iproto.py_con.space("gh1280").select(list()) admin("space:drop()") @@ -344,26 +340,24 @@ admin("box.schema.user.revoke('guest', 'read,write,execute', 'universe')") # gh-272 if the packet was incorrect, respond with an error code # gh-1654 do not close connnection on invalid request # -print """ -# Test bugs gh-272, gh-1654 if the packet was incorrect, respond with -# an error code and do not close connection -""" +print("# Test bugs gh-272, gh-1654 if the packet was incorrect, respond with") +print("# an error code and do not close connection") -c = Connection('localhost', server.iproto.port) +c = Connection("localhost", server.iproto.port) c.connect() s = c._socket header = { "hello": "world"} body = { "bug": 272 } resp = test_request(header, body) -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) header = { IPROTO_CODE : REQUEST_TYPE_SELECT } header[IPROTO_SYNC] = 1234 resp = test_request(header, body) -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) header[IPROTO_SYNC] = 5678 body = { IPROTO_SPACE_ID: 304, IPROTO_KEY: [], IPROTO_LIMIT: 1 } resp = test_request(header, body) -print 'sync=%d, %s' % (resp['header'][IPROTO_SYNC], resp['body'].get(IPROTO_ERROR)) +print("sync={}, {}".format(resp["header"][IPROTO_SYNC], resp["body"].get(IPROTO_ERROR))) c.close() @@ -371,7 +365,7 @@ admin("space = box.schema.space.create('test_index_base', { id = 568 })") admin("index = space:create_index('primary', { type = 'hash' })") admin("box.schema.user.grant('guest', 'read,write,execute', 'space', 'test_index_base')") -c = Connection('localhost', server.iproto.port) +c = Connection("localhost", server.iproto.port) c.connect() s = c._socket @@ -379,32 +373,32 @@ request = RequestInsert(c, 568, [1, 0, 0, 0]) try: s.send(bytes(request)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response = Response(c, c._read_response()) -print response.__str__() +print(response.__str__()) -request = RequestUpdate(c, 568, 0, [1], [['+', 2, 1], ['-', 3, 1]]) +request = RequestUpdate(c, 568, 0, [1], [["+", 2, 1], ["-", 3, 1]]) try: s.send(bytes(request)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response = Response(c, c._read_response()) -print response.__str__() +print(response.__str__()) -request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [['+', 2, 1], ['-', 3, 1]]) +request = RequestUpsert(c, 568, 0, [1, 0, 0, 0], [["+", 2, 1], ["-", 3, 1]]) try: s.send(bytes(request)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response = Response(c, c._read_response()) request = RequestSelect(c, 568, 0, [1], 0, 1, 0) try: s.send(bytes(request)) except OSError as e: - print ' => ', 'Failed to send request' + print(" => ", "Failed to send request") response = Response(c, c._read_response()) -print response.__str__() +print(response.__str__()) c.close() @@ -414,15 +408,15 @@ c.close() admin("function kek() return 'kek' end") admin("box.schema.user.grant('guest', 'read,write,execute', 'universe')") -c = Connection('localhost', server.iproto.port) +c = Connection("localhost", server.iproto.port) c.connect() s = c._socket header = { IPROTO_CODE: REQUEST_TYPE_CALL, IPROTO_SYNC: 100 } -body = { IPROTO_FUNCTION_NAME: 'kek' } +body = { IPROTO_FUNCTION_NAME: "kek" } resp = test_request(header, body) -print "Sync: ", resp['header'][IPROTO_SYNC] -print "Retcode: ", resp['body'][IPROTO_DATA] +print("Sync: ", resp["header"][IPROTO_SYNC]) +print("Retcode: ", resp["body"][IPROTO_DATA]) c.close() diff --git a/test/box-py/print.result b/test/box-py/print.result index b2d58d7de..7a3282d79 100644 --- a/test/box-py/print.result +++ b/test/box-py/print.result @@ -1,4 +1,4 @@ -print("Hello, world") +print('Hello, world') --- ... io = require('io') @@ -17,9 +17,9 @@ require('fiber').sleep(0.01) ... Check log line (Hello): --- -- "logfile contains "Hello"" +- 'logfile contains 'Hello'' ... Check log line (Ehllo): --- -- "logfile contains "Ehllo"" +- 'logfile contains 'Ehllo'' ... diff --git a/test/box-py/print.test.py b/test/box-py/print.test.py index 5083bdf42..37f07cab8 100644 --- a/test/box-py/print.test.py +++ b/test/box-py/print.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import tarantool import sys @@ -6,7 +8,7 @@ import re log = server.get_log() -admin('print("Hello, world")') +admin("print('Hello, world')") admin("io = require('io')") admin("""local f = require('fiber').create( @@ -18,17 +20,17 @@ admin("""local f = require('fiber').create( admin("require('fiber').sleep(0.01)") print("Check log line (Hello):") -print('---') -if log.seek_once('Hello') >= 0: - print('- "logfile contains "Hello""') +print("---") +if log.seek_once("Hello") >= 0: + print("- 'logfile contains \'Hello\''") else: - print('- "logfile does not contain "Hello""') -print('...') + print("- 'logfile does not contain \'Hello\''") +print("...") print("Check log line (Ehllo):") -print('---') -if log.seek_once('Ehllo') >= 0: - print('- "logfile contains "Ehllo""') +print("---") +if log.seek_once("Ehllo") >= 0: + print("- 'logfile contains \'Ehllo\''") else: - print('- "logfile does not contain "Ehllo""') -print('...') + print("- 'logfile does not contain \'Ehllo\''") +print("...") diff --git a/test/box-py/snapshot.result b/test/box-py/snapshot.result index fbaab912f..dfd1a00a2 100644 --- a/test/box-py/snapshot.result +++ b/test/box-py/snapshot.result @@ -10,7 +10,6 @@ index = space:create_index('primary', { type = 'hash' }) # file that already exists. Verify also that any other # error that happens when saving snapshot is propagated # to the caller. - space:insert{1, 'first tuple'} --- - [1, 'first tuple'] @@ -44,9 +43,8 @@ space:delete{2} ... # # A test case for http://bugs.launchpad.net/bugs/727174 -# "tarantool_box crashes when saving snapshot on SIGUSR1" +# 'tarantool_box crashes when saving snapshot on SIGUSR1' # - # Increment the lsn number, to make sure there is no such snapshot yet # space:insert{1, 'Test tuple'} diff --git a/test/box-py/snapshot.test.py b/test/box-py/snapshot.test.py index 2bfb8f621..91ff0c5dd 100644 --- a/test/box-py/snapshot.test.py +++ b/test/box-py/snapshot.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import sys import yaml @@ -9,13 +11,13 @@ sys.stdout.push_filter(server.vardir, "") admin("space = box.schema.space.create('tweedledum')") admin("index = space:create_index('primary', { type = 'hash' })") -print """# -# A test case for: http://bugs.launchpad.net/bugs/686411 -# Check that 'box.snapshot()' does not overwrite a snapshot -# file that already exists. Verify also that any other -# error that happens when saving snapshot is propagated -# to the caller. -""" +print("#") +print("# A test case for: http://bugs.launchpad.net/bugs/686411") +print("# Check that 'box.snapshot()' does not overwrite a snapshot") +print("# file that already exists. Verify also that any other") +print("# error that happens when saving snapshot is propagated") +print("# to the caller.") + admin("space:insert{1, 'first tuple'}") admin("box.snapshot()") # @@ -38,14 +40,13 @@ os.rmdir(snapshot) admin("space:delete{1}") admin("space:delete{2}") -print """# -# A test case for http://bugs.launchpad.net/bugs/727174 -# "tarantool_box crashes when saving snapshot on SIGUSR1" -#""" +print("#") +print("# A test case for http://bugs.launchpad.net/bugs/727174") +print("# 'tarantool_box crashes when saving snapshot on SIGUSR1'") +print("#") -print """ -# Increment the lsn number, to make sure there is no such snapshot yet -#""" +print("# Increment the lsn number, to make sure there is no such snapshot yet") +print("#") admin("space:insert{1, 'Test tuple'}") @@ -65,9 +66,9 @@ while not os.access(snapshot, os.F_OK) and iteration < MAX_ITERATIONS: iteration = iteration + 1 if iteration == 0 or iteration >= MAX_ITERATIONS: - print "Snapshot is missing." + print("Snapshot is missing.") else: - print "Snapshot exists." + print("Snapshot exists.") admin("space:drop()") diff --git a/test/long_run-py/finalizers.result b/test/long_run-py/finalizers.result index 29313694c..2d2866b35 100644 --- a/test/long_run-py/finalizers.result +++ b/test/long_run-py/finalizers.result @@ -1 +1 @@ -Expected error: +('Expected error:', ) diff --git a/test/long_run-py/finalizers.test.py b/test/long_run-py/finalizers.test.py index 96118e607..07bceb6b9 100644 --- a/test/long_run-py/finalizers.test.py +++ b/test/long_run-py/finalizers.test.py @@ -5,12 +5,12 @@ import yaml from lib.tarantool_server import TarantoolServer server = TarantoolServer(server.ini) -server.script = 'long_run-py/lua/finalizers.lua' -server.vardir = os.path.join(server.vardir, 'finalizers') +server.script = "long_run-py/lua/finalizers.lua" +server.vardir = os.path.join(server.vardir, "finalizers") server.crash_expected = True try: server.deploy() except: - print "Expected error:", sys.exc_info()[0] + print("Expected error:", sys.exc_info()[0]) else: - print "Error! exception did not occur" + print("Error! exception did not occur") diff --git a/test/replication-py/cluster.result b/test/replication-py/cluster.result index f68a6af7c..9bc8a7393 100644 --- a/test/replication-py/cluster.result +++ b/test/replication-py/cluster.result @@ -93,7 +93,7 @@ box.info.vclock[2] == nil ------------------------------------------------------------- Modify data to bump LSN and check box.info ------------------------------------------------------------- -box.space._schema:insert{"test", 48} +box.space._schema:insert{'test', 48} --- - ['test', 48] ... @@ -114,7 +114,7 @@ box.cfg{ replication_source = '' } ------------------------------------------------------------- Disconnect replica from master ------------------------------------------------------------- -box.cfg { replication_source = "" } +box.cfg { replication_source = '' } --- ... ------------------------------------------------------------- @@ -131,7 +131,7 @@ box.info.vclock[2] == 1 ------------------------------------------------------------- Modify data to bump LSN on replica ------------------------------------------------------------- -box.space._schema:insert{"tost", 49} +box.space._schema:insert{'tost', 49} --- - ['tost', 49] ... diff --git a/test/replication-py/cluster.test.py b/test/replication-py/cluster.test.py index 088ca9c34..c770a9bc9 100644 --- a/test/replication-py/cluster.test.py +++ b/test/replication-py/cluster.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import sys import re @@ -7,19 +9,19 @@ import glob from lib.tarantool_server import TarantoolServer ## Get cluster uuid -cluster_uuid = '' +cluster_uuid = "" try: cluster_uuid = yaml.safe_load(server.admin("box.space._schema:get('cluster')", silent = True))[0][1] - uuid.UUID('{' + cluster_uuid + '}') - print 'ok - cluster uuid' + uuid.UUID("{" + cluster_uuid + "}") + print("ok - cluster uuid") except Exception as e: - print 'not ok - invalid cluster uuid', e + print("not ok - invalid cluster uuid", e) server.iproto.reconnect() # re-connect with new permissions -print '-------------------------------------------------------------' -print ' gh-696: Check global READ permissions for replication' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print(" gh-696: Check global READ permissions for replication") +print("-------------------------------------------------------------") # Generate replica cluster UUID @@ -27,56 +29,59 @@ replica_uuid = str(uuid.uuid4()) ## Universal read permission is required to perform JOIN/SUBSCRIBE rows = list(server.iproto.py_con.join(replica_uuid)) -print len(rows) == 1 and rows[0].return_message.find('Read access') >= 0 and \ - 'ok' or 'not ok', '-', 'join without read permissions on universe' +status = len(rows) == 1 and rows[0].return_message.find("Read access") >= 0 and \ + "ok" or "not ok" +print("{} - join without read permissions on universe".format(status)) rows = list(server.iproto.py_con.subscribe(cluster_uuid, replica_uuid)) -print len(rows) == 1 and rows[0].return_message.find('Read access') >= 0 and \ - 'ok' or 'not ok', '-', 'subscribe without read permissions on universe' +status = len(rows) == 1 and rows[0].return_message.find("Read access") >= 0 and \ + "ok" or "not ok" +print("{} - subscribe without read permissions on universe".format(status)) ## Write permission to space `_cluster` is required to perform JOIN server.admin("box.schema.user.grant('guest', 'read', 'universe')") server.iproto.reconnect() # re-connect with new permissions rows = list(server.iproto.py_con.join(replica_uuid)) -print len(rows) == 1 and rows[0].return_message.find('Write access') >= 0 and \ - 'ok' or 'not ok', '-', 'join without write permissions to _cluster' +status = len(rows) == 1 and rows[0].return_message.find("Write access") >= 0 and \ + "ok" or "not ok" +print("{} - join without write permissions to _cluster".format(status)) def check_join(msg): ok = True for resp in server.iproto.py_con.join(replica_uuid): if resp._return_code != 0: - print 'not ok', '-', msg, resp.return_message + print("not ok - {} {}".format(msg, resp.return_message)) ok = False server.iproto.reconnect() # the only way to stop JOIN if not ok: return - tuples = server.iproto.py_con.space('_cluster').select(replica_uuid, index = 1) + tuples = server.iproto.py_con.space("_cluster").select(replica_uuid, index = 1) if len(tuples) == 0: - print 'not ok', '-', msg, 'missing entry in _cluster' + print("not ok - {} missing entry in _cluster".format(msg)) return server_id = tuples[0][0] - print 'ok', '-', msg + print("ok - {}".format(msg)) return server_id ## JOIN with permissions server.admin("box.schema.user.grant('guest', 'write', 'space', '_cluster')") server.iproto.reconnect() # re-connect with new permissions -server_id = check_join('join with granted permissions') -server.iproto.py_con.space('_cluster').delete(server_id) +server_id = check_join("join with granted permissions") +server.iproto.py_con.space("_cluster").delete(server_id) # JOIN with granted role server.admin("box.schema.user.revoke('guest', 'read', 'universe')") server.admin("box.schema.user.revoke('guest', 'write', 'space', '_cluster')") server.admin("box.schema.user.grant('guest', 'replication')") server.iproto.reconnect() # re-connect with new permissions -server_id = check_join('join with granted role') -server.iproto.py_con.space('_cluster').delete(server_id) +server_id = check_join("join with granted role") +server.iproto.py_con.space("_cluster").delete(server_id) -print '-------------------------------------------------------------' -print 'gh-434: Assertion if replace _cluster tuple for local server' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("gh-434: Assertion if replace _cluster tuple for local server") +print("-------------------------------------------------------------") -master_uuid = server.get_param('uuid') -sys.stdout.push_filter(master_uuid, '') +master_uuid = server.get_param("uuid") +sys.stdout.push_filter(master_uuid, "") # Invalid UUID server.admin("box.space._cluster:replace{1, require('uuid').NULL:str()}") @@ -87,19 +92,19 @@ server.admin("box.space._cluster:replace{1, require('uuid').str()}") # Update of tail is OK server.admin("box.space._cluster:update(1, {{'=', 3, 'test'}})") -print '-------------------------------------------------------------' -print 'gh-1140: Assertion if replace _cluster tuple for remote server' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("gh-1140: Assertion if replace _cluster tuple for remote server") +print("-------------------------------------------------------------") # Test that insert is OK -new_uuid = '0d5bd431-7f3e-4695-a5c2-82de0a9cbc95' +new_uuid = "0d5bd431-7f3e-4695-a5c2-82de0a9cbc95" server.admin("box.space._cluster:insert{{5, '{0}'}}".format(new_uuid)) server.admin("box.info.vclock[5] == nil") # Replace with the same UUID is OK server.admin("box.space._cluster:replace{{5, '{0}'}}".format(new_uuid)) # Replace with a new UUID is not OK -new_uuid = 'a48a19a3-26c0-4f8c-a5b5-77377bab389b' +new_uuid = "a48a19a3-26c0-4f8c-a5b5-77377bab389b" server.admin("box.space._cluster:replace{{5, '{0}'}}".format(new_uuid)) # Update of tail is OK server.admin("box.space._cluster:update(5, {{'=', 3, 'test'}})") @@ -112,83 +117,83 @@ server.admin("box.info.vclock[5] == nil") server.stop() server.deploy() -print '-------------------------------------------------------------' -print 'Start a new replica and check box.info on the start' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("Start a new replica and check box.info on the start") +print("-------------------------------------------------------------") # master server master = server -master_id = master.get_param('id') +master_id = master.get_param("id") master.admin("box.schema.user.grant('guest', 'replication')") replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir replica.rpl_master = master replica.deploy() -replica_id = replica.get_param('id') -replica_uuid = replica.get_param('uuid') -sys.stdout.push_filter(replica_uuid, '') - -replica.admin('box.info.id == %d' % replica_id) -replica.admin('not box.info.ro') -replica.admin('box.info.lsn == 0') -replica.admin('box.info.vclock[%d] == nil' % replica_id) - -print '-------------------------------------------------------------' -print 'Modify data to bump LSN and check box.info' -print '-------------------------------------------------------------' -replica.admin('box.space._schema:insert{"test", 48}') -replica.admin('box.info.lsn == 1') -replica.admin('box.info.vclock[%d] == 1' % replica_id) - -print '-------------------------------------------------------------' -print 'Connect master to replica' -print '-------------------------------------------------------------' -replication_source = yaml.safe_load(replica.admin('box.cfg.listen', silent = True))[0] -sys.stdout.push_filter(replication_source, '') -master.admin("box.cfg{ replication_source = '%s' }" % replication_source) +replica_id = replica.get_param("id") +replica_uuid = replica.get_param("uuid") +sys.stdout.push_filter(replica_uuid, "") + +replica.admin("box.info.id == {}".format(replica_id)) +replica.admin("not box.info.ro") +replica.admin("box.info.lsn == 0") +replica.admin("box.info.vclock[{}] == nil".format(replica_id)) + +print("-------------------------------------------------------------") +print("Modify data to bump LSN and check box.info") +print("-------------------------------------------------------------") +replica.admin("box.space._schema:insert{'test', 48}") +replica.admin("box.info.lsn == 1") +replica.admin("box.info.vclock[{}] == 1".format(replica_id)) + +print("-------------------------------------------------------------") +print("Connect master to replica") +print("-------------------------------------------------------------") +replication_source = yaml.safe_load(replica.admin("box.cfg.listen", silent = True))[0] +sys.stdout.push_filter(replication_source, "") +master.admin("box.cfg{{ replication_source = '{}' }}".format(replication_source)) master.wait_lsn(replica_id, replica.get_lsn(replica_id)) -print '-------------------------------------------------------------' -print 'Disconnect replica from master' -print '-------------------------------------------------------------' -replica.admin('box.cfg { replication_source = "" }') +print("-------------------------------------------------------------") +print("Disconnect replica from master") +print("-------------------------------------------------------------") +replica.admin("box.cfg { replication_source = '' }") -print '-------------------------------------------------------------' -print 'Unregister replica' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("Unregister replica") +print("-------------------------------------------------------------") -master.admin('box.space._cluster:delete{%d} ~= nil' % replica_id) +master.admin("box.space._cluster:delete{{{}}} ~= nil".format(replica_id)) # gh-1219: LSN must not be removed from vclock on unregister -master.admin('box.info.vclock[%d] == 1' % replica_id) +master.admin("box.info.vclock[{}] == 1".format(replica_id)) -print '-------------------------------------------------------------' -print 'Modify data to bump LSN on replica' -print '-------------------------------------------------------------' -replica.admin('box.space._schema:insert{"tost", 49}') -replica.admin('box.info.lsn == 2') -replica.admin('box.info.vclock[%d] == 2' % replica_id) +print("-------------------------------------------------------------") +print("Modify data to bump LSN on replica") +print("-------------------------------------------------------------") +replica.admin("box.space._schema:insert{'tost', 49}") +replica.admin("box.info.lsn == 2") +replica.admin("box.info.vclock[{}] == 2".format(replica_id)) -print '-------------------------------------------------------------' -print 'Master must not crash then receives orphan rows from replica' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("Master must not crash then receives orphan rows from replica") +print("-------------------------------------------------------------") -replication_source = yaml.safe_load(replica.admin('box.cfg.listen', silent = True))[0] -sys.stdout.push_filter(replication_source, '') -master.admin("box.cfg{ replication = '%s' }" % replication_source) +replication_source = yaml.safe_load(replica.admin("box.cfg.listen", silent = True))[0] +sys.stdout.push_filter(replication_source, "") +master.admin("box.cfg{{ replication = '{}' }}".format(replication_source)) master.wait_lsn(replica_id, replica.get_lsn(replica_id)) -master.admin('box.info.vclock[%d] == 2' % replica_id) +master.admin("box.info.vclock[{}] == 2".format(replica_id)) master.admin("box.cfg{ replication = '' }") replica.stop() replica.cleanup() -print '-------------------------------------------------------------' -print 'Start a new replica and check that server_id, LSN is re-used' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("Start a new replica and check that server_id, LSN is re-used") +print("-------------------------------------------------------------") # # gh-1219: Proper removal of servers with non-zero LSN from _cluster @@ -196,36 +201,36 @@ print '-------------------------------------------------------------' # Snapshot is required. Otherwise a relay will skip records made by previous # replica with the re-used id. master.admin("box.snapshot()") -master.admin('box.info.vclock[%d] == 2' % replica_id) +master.admin("box.info.vclock[{}] == 2".format(replica_id)) replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir replica.rpl_master = master replica.deploy() replica.wait_lsn(master_id, master.get_lsn(master_id)) # Check that replica_id was re-used -replica.admin('box.info.id == %d' % replica_id) -replica.admin('not box.info.ro') +replica.admin("box.info.id == {}".format(replica_id)) +replica.admin("not box.info.ro") # All records were succesfully recovered. # Replica should have the same vclock as master. -master.admin('box.info.vclock[%d] == 2' % replica_id) -replica.admin('box.info.vclock[%d] == 2' % replica_id) +master.admin("box.info.vclock[{}] == 2".format(replica_id)) +replica.admin("box.info.vclock[{}] == 2".format(replica_id)) replica.stop() replica.cleanup() -master.admin('box.space._cluster:delete{%d} ~= nil' % replica_id) +master.admin("box.space._cluster:delete{{{}}} ~= nil".format(replica_id)) -print '-------------------------------------------------------------' -print 'JOIN replica to read-only master' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("JOIN replica to read-only master") +print("-------------------------------------------------------------") # master server master = server -master.admin('box.cfg { read_only = true }') +master.admin("box.cfg { read_only = true }") #gh-1230 Assertion vclock_has on attempt to JOIN read-only master failed = TarantoolServer(server.ini) -failed.script = 'replication-py/failed.lua' +failed.script = "replication-py/failed.lua" failed.vardir = server.vardir failed.rpl_master = master failed.name = "failed" @@ -235,16 +240,16 @@ try: except Exception as e: line = "ER_READONLY" if failed.logfile_pos.seek_once(line) >= 0: - print "'%s' exists in server log" % line + print("\'{}\' exists in server log".format(line)) -master.admin('box.cfg { read_only = false }') +master.admin("box.cfg { read_only = false }") -print '-------------------------------------------------------------' -print 'JOIN replica with different replica set UUID' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("JOIN replica with different replica set UUID") +print("-------------------------------------------------------------") failed = TarantoolServer(server.ini) -failed.script = 'replication-py/uuid_mismatch.lua' +failed.script = "replication-py/uuid_mismatch.lua" failed.vardir = server.vardir failed.rpl_master = master failed.name = "uuid_mismatch" @@ -254,15 +259,15 @@ try: except Exception as e: line = "ER_REPLICASET_UUID_MISMATCH" if failed.logfile_pos.seek_once(line) >= 0: - print "'%s' exists in server log" % line + print("\'{}\' exists in server log".format(line)) failed.cleanup() -print '-------------------------------------------------------------' -print 'Cleanup' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("Cleanup") +print("-------------------------------------------------------------") # Cleanup sys.stdout.pop_filter() master.admin("box.schema.user.revoke('guest', 'replication')") -master.admin('box.space._cluster:delete{2} ~= nil') +master.admin("box.space._cluster:delete{2} ~= nil") diff --git a/test/replication-py/conflict.test.py b/test/replication-py/conflict.test.py index 1dcd66765..5e19d0c40 100644 --- a/test/replication-py/conflict.test.py +++ b/test/replication-py/conflict.test.py @@ -1,35 +1,37 @@ +from __future__ import print_function + from lib.tarantool_server import TarantoolServer from time import sleep import yaml -def check_replication(nodes, select_args=''): +def check_replication(nodes, select_args=""): for node in nodes: - node.admin('box.space.test:select{%s}' % select_args) + node.admin("box.space.test:select{{{}}}".format(select_args)) master = server master.admin("box.schema.user.grant('guest', 'replication')") replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir replica.rpl_master = master replica.deploy() def parallel_run(cmd1, cmd2, compare): - print 'parallel send: %s' % cmd1 - print 'parallel send: %s' % cmd2 - master.admin.socket.sendall('%s\n' % cmd1) - replica.admin.socket.sendall('%s\n' % cmd2) + print("parallel send: {}".format(cmd1)) + print("parallel send: {}".format(cmd2)) + master.admin.socket.sendall("{}\n".format(cmd1)) + replica.admin.socket.sendall("{}\n".format(cmd2)) master.admin.socket.recv(2048) replica.admin.socket.recv(2048) # wait for status changing in tarantool master_status = yaml.safe_load(master.admin( - 'box.info().replication[2].upstream.status', silent=True + "box.info().replication[2].upstream.status", silent=True ))[0] replica_status = yaml.safe_load(replica.admin( - 'box.info().replication[1].upstream.status', silent=True + "box.info().replication[1].upstream.status", silent=True ))[0] # wait for status @@ -37,11 +39,11 @@ def parallel_run(cmd1, cmd2, compare): while True: sleep(0.01) if any(results): - print 'replication state is correct' + print("replication state is correct") break def prepare_cluster(): - print 'reset master-master replication' + print("reset master-master replication") master.stop() master.cleanup() master.start() @@ -51,13 +53,13 @@ def prepare_cluster(): replica.cleanup() replica.start() - master.admin("box.cfg{replication='%s'}" % replica.iproto.uri, silent=True) - r1_id = replica.get_param('id') - r2_id = master.get_param('id') + master.admin("box.cfg{{replication='{}'}}".format(replica.iproto.uri), silent=True) + r1_id = replica.get_param("id") + r2_id = master.get_param("id") master.admin("space = box.schema.space.create('test')", silent=True) master.admin("index = space:create_index('primary', { type = 'tree'})", silent=True) - master.admin('for k = 1, 9 do space:insert{k, k*k} end', silent=True) + master.admin("for k = 1, 9 do space:insert{k, k*k} end", silent=True) # wait lsn replica.wait_lsn(r2_id, master.get_lsn(r2_id)) @@ -69,20 +71,20 @@ parallel_run( "box.space.test:update(1, {{'#', 2, 1}})", "box.space.test:update(1, {{'#', 2, 1}})", [ - lambda x,y: x == 'stopped' or y == 'stopped', - lambda x,y: x == 'follow' and y == 'follow', + lambda x,y: x == "stopped" or y == "stopped", + lambda x,y: x == "follow" and y == "follow", ] ) -check_replication([master, replica], '1') +check_replication([master, replica], "1") # test2: insert different values with single id prepare_cluster() parallel_run( - 'box.space.test:insert{20, 1}', - 'box.space.test:insert{20, 2}', + "box.space.test:insert{20, 1}", + "box.space.test:insert{20, 2}", [ - lambda x,y: x == 'stopped' or y == 'stopped', - lambda x,y: x == 'follow' and y == 'follow', + lambda x,y: x == "stopped" or y == "stopped", + lambda x,y: x == "follow" and y == "follow", ] ) @@ -91,7 +93,7 @@ prepare_cluster() parallel_run( "box.space.test:update(2, {{'=', 2, 1}})", "box.space.test:update(2, {{'=', 2, 2}})", - [lambda x,y: x == 'follow' and y == 'follow',] + [lambda x,y: x == "follow" and y == "follow",] ) # test4: CRDT increment with update @@ -99,16 +101,16 @@ prepare_cluster() parallel_run( "box.space.test:update(1, {{'+', 2, 1}})", "box.space.test:update(1, {{'+', 2, 2}})", - [lambda x,y: x == 'follow' and y == 'follow',] + [lambda x,y: x == "follow" and y == "follow",] ) -check_replication([master, replica], '1') +check_replication([master, replica], "1") # test5: delete not existing key prepare_cluster() parallel_run( "box.space.test:delete(999)", "box.space.test:delete(999)", - [lambda x,y: x == 'follow' and y == 'follow',] + [lambda x,y: x == "follow" and y == "follow",] ) check_replication([master, replica]) diff --git a/test/replication-py/init_storage.test.py b/test/replication-py/init_storage.test.py index 4be531f8d..30ba75405 100644 --- a/test/replication-py/init_storage.test.py +++ b/test/replication-py/init_storage.test.py @@ -1,80 +1,82 @@ +from __future__ import print_function + import os import glob from lib.tarantool_server import TarantoolServer # master server master = server -master_id = master.get_param('id') +master_id = master.get_param("id") master.admin("box.schema.user.grant('guest', 'replication')") -print '-------------------------------------------------------------' -print 'gh-484: JOIN doesn\'t save data to snapshot with TREE index' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("gh-484: JOIN doesn't save data to snapshot with TREE index") +print("-------------------------------------------------------------") master.admin("space = box.schema.space.create('test', {id = 42})") master.admin("index = space:create_index('primary', { type = 'tree'})") -master.admin('for k = 1, 9 do space:insert{k, k*k} end') +master.admin("for k = 1, 9 do space:insert{k, k*k} end") replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') replica.rpl_master = master replica.deploy() -replica.admin('box.space.test:select()') +replica.admin("box.space.test:select()") replica.restart() -replica.admin('box.space.test:select()') +replica.admin("box.space.test:select()") replica.stop() replica.cleanup() -print '-------------------------------------------------------------' -print 'replica test 2 (must be ok)' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("replica test 2 (must be ok)") +print("-------------------------------------------------------------") master.restart() -master.admin('for k = 10, 19 do box.space[42]:insert{k, k*k*k} end') +master.admin("for k = 10, 19 do box.space[42]:insert{k, k*k*k} end") master.admin("for k = 20, 29 do box.space[42]:upsert({k}, {}) end") lsn = master.get_lsn(master_id) replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') replica.rpl_master = master replica.deploy() -replica.admin('space = box.space.test'); +replica.admin("space = box.space.test"); replica.wait_lsn(master_id, lsn) for i in range(1, 20): - replica.admin('space:get{%d}' % i) + replica.admin("space:get{{{}}}".format(i)) replica.stop() replica.cleanup() -print '-------------------------------------------------------------' -print 'reconnect on JOIN/SUBSCRIBE' -print '-------------------------------------------------------------' +print("-------------------------------------------------------------") +print("reconnect on JOIN/SUBSCRIBE") +print("-------------------------------------------------------------") server.stop() replica = TarantoolServer(server.ini) -replica.script = 'replication-py/replica.lua' +replica.script = "replication-py/replica.lua" replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') replica.rpl_master = master replica.deploy(wait=False) -print 'waiting reconnect on JOIN...' +print("waiting reconnect on JOIN...") server.start() replica.wait_until_started() -print 'ok' +print("ok") replica.stop() server.stop() -print 'waiting reconnect on SUBSCRIBE...' +print("waiting reconnect on SUBSCRIBE...") replica.start(wait=False) server.start() replica.wait_until_started() -print 'ok' +print("ok") replica.stop() replica.cleanup() diff --git a/test/replication-py/multi.test.py b/test/replication-py/multi.test.py index 233802458..a346fd560 100644 --- a/test/replication-py/multi.test.py +++ b/test/replication-py/multi.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import sys import os from lib.tarantool_server import TarantoolServer @@ -14,17 +16,17 @@ master.admin("fiber = require('fiber')") master.admin("box.schema.user.grant('guest', 'replication')") master.admin("box.schema.user.grant('guest', 'execute', 'universe')") -print '----------------------------------------------------------------------' -print 'Bootstrap replicas' -print '----------------------------------------------------------------------' +print("----------------------------------------------------------------------") +print("Bootstrap replicas") +print("----------------------------------------------------------------------") # Start replicas -master.id = master.get_param('id') +master.id = master.get_param("id") cluster = [ master ] for i in range(REPLICA_N - 1): server = TarantoolServer(server.ini) - server.script = 'replication-py/replica.lua' - server.vardir = os.path.join(server.vardir, 'replica', str(master.id + i)) + server.script = "replication-py/replica.lua" + server.vardir = os.path.join(server.vardir, "replica", str(master.id + i)) server.rpl_master = master server.deploy() # Wait replica to fully bootstrap. @@ -34,14 +36,14 @@ for i in range(REPLICA_N - 1): # Make a list of servers sources = [] for server in cluster: - sources.append(yaml.safe_load(server.admin('box.cfg.listen', silent = True))[0]) - server.id = server.get_param('id') + sources.append(yaml.safe_load(server.admin("box.cfg.listen", silent = True))[0]) + server.id = server.get_param("id") -print 'done' +print("done") -print '----------------------------------------------------------------------' -print 'Make a full mesh' -print '----------------------------------------------------------------------' +print("----------------------------------------------------------------------") +print("Make a full mesh") +print("----------------------------------------------------------------------") # Connect each server to each other to make full mesh for server in cluster: @@ -54,55 +56,55 @@ for server in cluster: while #box.info.vclock[...] ~= nil do fiber.sleep(0.01) end;""", server2.id) - print 'server', server.id, "connected" + print("server {} connected".format(server.id)) -print 'done' +print("done") -print '----------------------------------------------------------------------' -print 'Test inserts' -print '----------------------------------------------------------------------' +print("----------------------------------------------------------------------") +print("Test inserts") +print("----------------------------------------------------------------------") -print 'Create a test space' +print("Create a test space") master.admin("_ = box.schema.space.create('test')") master.admin("_ = box.space.test:create_index('primary')") master_lsn = master.get_lsn(master.id) # Wait changes to propagate to replicas for server in cluster: server.wait_lsn(master.id, master_lsn) - print 'server', server.id, 'is ok' -print + print("server {} is ok".format(server.id)) +print("") -print 'Insert records' +print("Insert records") for i in range(ROW_N): server = cluster[i % REPLICA_N] - server.admin("box.space.test:insert{%d, %s}" % (i, server.id), silent = True) -print 'inserted %d records' % ROW_N -print + server.admin("box.space.test:insert{{{}, {}}}".format(i, server.id), silent = True) +print("inserted {} records".format(ROW_N)) +print("") -print 'Synchronize' +print("Synchronize") for server1 in cluster: for server2 in cluster: server1.wait_lsn(server2.id, server2.get_lsn(server2.id)) - print 'server', server1.id, 'done' -print 'done' -print + print("server {} done".format(server1.id)) +print("done") +print("") -print 'Check data' +print("Check data") for server in cluster: cnt = yaml.safe_load(server.admin("box.space.test:len()", silent = True))[0] - print 'server', server.id, 'is', cnt == ROW_N and 'ok' or 'not ok' -print 'Done' -print + print("server {} is {}".format(server.id, cnt == ROW_N and "ok" or "not ok")) +print("Done") +print("") -print -print '----------------------------------------------------------------------' -print 'Cleanup' -print '----------------------------------------------------------------------' +print("") +print("----------------------------------------------------------------------") +print("Cleanup") +print("----------------------------------------------------------------------") for server in cluster: server.stop() - print 'server', server.id, 'done' -print + print("server {} done".format(server.id)) +print("") master.cleanup() master.deploy() diff --git a/test/replication-py/swap.result b/test/replication-py/swap.result index 7e6e66483..f96da95e4 100644 --- a/test/replication-py/swap.result +++ b/test/replication-py/swap.result @@ -23,34 +23,34 @@ index = s:create_index('primary', {type = 'tree'}) --- ... test 0 iteration -box.space.memtx:insert{0, "tuple 0"} +box.space.memtx:insert{0, 'tuple 0'} - - [0, 'tuple 0'] -box.space.memtx:insert{1, "tuple 1"} +box.space.memtx:insert{1, 'tuple 1'} - - [1, 'tuple 1'] -box.space.memtx:insert{2, "tuple 2"} +box.space.memtx:insert{2, 'tuple 2'} - - [2, 'tuple 2'] -box.space.memtx:insert{3, "tuple 3"} +box.space.memtx:insert{3, 'tuple 3'} - - [3, 'tuple 3'] -box.space.memtx:insert{4, "tuple 4"} +box.space.memtx:insert{4, 'tuple 4'} - - [4, 'tuple 4'] -box.space.vinyl:insert{0, "tuple 0"} +box.space.vinyl:insert{0, 'tuple 0'} - - [0, 'tuple 0'] -box.space.vinyl:insert{1, "tuple 1"} +box.space.vinyl:insert{1, 'tuple 1'} - - [1, 'tuple 1'] -box.space.vinyl:insert{2, "tuple 2"} +box.space.vinyl:insert{2, 'tuple 2'} - - [2, 'tuple 2'] -box.space.vinyl:insert{3, "tuple 3"} +box.space.vinyl:insert{3, 'tuple 3'} - - [3, 'tuple 3'] -box.space.vinyl:insert{4, "tuple 4"} +box.space.vinyl:insert{4, 'tuple 4'} - - [4, 'tuple 4'] box.space.memtx:select{0} @@ -83,34 +83,34 @@ box.space.vinyl:select{3} box.space.vinyl:select{4} - - [4, 'tuple 4'] -box.space.memtx:insert{5, "tuple 5"} +box.space.memtx:insert{5, 'tuple 5'} - - [5, 'tuple 5'] -box.space.memtx:insert{6, "tuple 6"} +box.space.memtx:insert{6, 'tuple 6'} - - [6, 'tuple 6'] -box.space.memtx:insert{7, "tuple 7"} +box.space.memtx:insert{7, 'tuple 7'} - - [7, 'tuple 7'] -box.space.memtx:insert{8, "tuple 8"} +box.space.memtx:insert{8, 'tuple 8'} - - [8, 'tuple 8'] -box.space.memtx:insert{9, "tuple 9"} +box.space.memtx:insert{9, 'tuple 9'} - - [9, 'tuple 9'] -box.space.vinyl:insert{5, "tuple 5"} +box.space.vinyl:insert{5, 'tuple 5'} - - [5, 'tuple 5'] -box.space.vinyl:insert{6, "tuple 6"} +box.space.vinyl:insert{6, 'tuple 6'} - - [6, 'tuple 6'] -box.space.vinyl:insert{7, "tuple 7"} +box.space.vinyl:insert{7, 'tuple 7'} - - [7, 'tuple 7'] -box.space.vinyl:insert{8, "tuple 8"} +box.space.vinyl:insert{8, 'tuple 8'} - - [8, 'tuple 8'] -box.space.vinyl:insert{9, "tuple 9"} +box.space.vinyl:insert{9, 'tuple 9'} - - [9, 'tuple 9'] box.space.memtx:select{5} @@ -149,34 +149,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{10, "tuple 10"} +box.space.memtx:insert{10, 'tuple 10'} - - [10, 'tuple 10'] -box.space.memtx:insert{11, "tuple 11"} +box.space.memtx:insert{11, 'tuple 11'} - - [11, 'tuple 11'] -box.space.memtx:insert{12, "tuple 12"} +box.space.memtx:insert{12, 'tuple 12'} - - [12, 'tuple 12'] -box.space.memtx:insert{13, "tuple 13"} +box.space.memtx:insert{13, 'tuple 13'} - - [13, 'tuple 13'] -box.space.memtx:insert{14, "tuple 14"} +box.space.memtx:insert{14, 'tuple 14'} - - [14, 'tuple 14'] -box.space.vinyl:insert{10, "tuple 10"} +box.space.vinyl:insert{10, 'tuple 10'} - - [10, 'tuple 10'] -box.space.vinyl:insert{11, "tuple 11"} +box.space.vinyl:insert{11, 'tuple 11'} - - [11, 'tuple 11'] -box.space.vinyl:insert{12, "tuple 12"} +box.space.vinyl:insert{12, 'tuple 12'} - - [12, 'tuple 12'] -box.space.vinyl:insert{13, "tuple 13"} +box.space.vinyl:insert{13, 'tuple 13'} - - [13, 'tuple 13'] -box.space.vinyl:insert{14, "tuple 14"} +box.space.vinyl:insert{14, 'tuple 14'} - - [14, 'tuple 14'] box.space.memtx:select{10} @@ -209,34 +209,34 @@ box.space.vinyl:select{13} box.space.vinyl:select{14} - - [14, 'tuple 14'] -box.space.memtx:insert{15, "tuple 15"} +box.space.memtx:insert{15, 'tuple 15'} - - [15, 'tuple 15'] -box.space.memtx:insert{16, "tuple 16"} +box.space.memtx:insert{16, 'tuple 16'} - - [16, 'tuple 16'] -box.space.memtx:insert{17, "tuple 17"} +box.space.memtx:insert{17, 'tuple 17'} - - [17, 'tuple 17'] -box.space.memtx:insert{18, "tuple 18"} +box.space.memtx:insert{18, 'tuple 18'} - - [18, 'tuple 18'] -box.space.memtx:insert{19, "tuple 19"} +box.space.memtx:insert{19, 'tuple 19'} - - [19, 'tuple 19'] -box.space.vinyl:insert{15, "tuple 15"} +box.space.vinyl:insert{15, 'tuple 15'} - - [15, 'tuple 15'] -box.space.vinyl:insert{16, "tuple 16"} +box.space.vinyl:insert{16, 'tuple 16'} - - [16, 'tuple 16'] -box.space.vinyl:insert{17, "tuple 17"} +box.space.vinyl:insert{17, 'tuple 17'} - - [17, 'tuple 17'] -box.space.vinyl:insert{18, "tuple 18"} +box.space.vinyl:insert{18, 'tuple 18'} - - [18, 'tuple 18'] -box.space.vinyl:insert{19, "tuple 19"} +box.space.vinyl:insert{19, 'tuple 19'} - - [19, 'tuple 19'] box.space.memtx:select{15} @@ -276,34 +276,34 @@ box.cfg{replication=''} ... switch replica to replica test 1 iteration -box.space.memtx:insert{20, "tuple 20"} +box.space.memtx:insert{20, 'tuple 20'} - - [20, 'tuple 20'] -box.space.memtx:insert{21, "tuple 21"} +box.space.memtx:insert{21, 'tuple 21'} - - [21, 'tuple 21'] -box.space.memtx:insert{22, "tuple 22"} +box.space.memtx:insert{22, 'tuple 22'} - - [22, 'tuple 22'] -box.space.memtx:insert{23, "tuple 23"} +box.space.memtx:insert{23, 'tuple 23'} - - [23, 'tuple 23'] -box.space.memtx:insert{24, "tuple 24"} +box.space.memtx:insert{24, 'tuple 24'} - - [24, 'tuple 24'] -box.space.vinyl:insert{20, "tuple 20"} +box.space.vinyl:insert{20, 'tuple 20'} - - [20, 'tuple 20'] -box.space.vinyl:insert{21, "tuple 21"} +box.space.vinyl:insert{21, 'tuple 21'} - - [21, 'tuple 21'] -box.space.vinyl:insert{22, "tuple 22"} +box.space.vinyl:insert{22, 'tuple 22'} - - [22, 'tuple 22'] -box.space.vinyl:insert{23, "tuple 23"} +box.space.vinyl:insert{23, 'tuple 23'} - - [23, 'tuple 23'] -box.space.vinyl:insert{24, "tuple 24"} +box.space.vinyl:insert{24, 'tuple 24'} - - [24, 'tuple 24'] box.space.memtx:select{20} @@ -336,34 +336,34 @@ box.space.vinyl:select{23} box.space.vinyl:select{24} - - [24, 'tuple 24'] -box.space.memtx:insert{25, "tuple 25"} +box.space.memtx:insert{25, 'tuple 25'} - - [25, 'tuple 25'] -box.space.memtx:insert{26, "tuple 26"} +box.space.memtx:insert{26, 'tuple 26'} - - [26, 'tuple 26'] -box.space.memtx:insert{27, "tuple 27"} +box.space.memtx:insert{27, 'tuple 27'} - - [27, 'tuple 27'] -box.space.memtx:insert{28, "tuple 28"} +box.space.memtx:insert{28, 'tuple 28'} - - [28, 'tuple 28'] -box.space.memtx:insert{29, "tuple 29"} +box.space.memtx:insert{29, 'tuple 29'} - - [29, 'tuple 29'] -box.space.vinyl:insert{25, "tuple 25"} +box.space.vinyl:insert{25, 'tuple 25'} - - [25, 'tuple 25'] -box.space.vinyl:insert{26, "tuple 26"} +box.space.vinyl:insert{26, 'tuple 26'} - - [26, 'tuple 26'] -box.space.vinyl:insert{27, "tuple 27"} +box.space.vinyl:insert{27, 'tuple 27'} - - [27, 'tuple 27'] -box.space.vinyl:insert{28, "tuple 28"} +box.space.vinyl:insert{28, 'tuple 28'} - - [28, 'tuple 28'] -box.space.vinyl:insert{29, "tuple 29"} +box.space.vinyl:insert{29, 'tuple 29'} - - [29, 'tuple 29'] box.space.memtx:select{25} @@ -402,34 +402,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{30, "tuple 30"} +box.space.memtx:insert{30, 'tuple 30'} - - [30, 'tuple 30'] -box.space.memtx:insert{31, "tuple 31"} +box.space.memtx:insert{31, 'tuple 31'} - - [31, 'tuple 31'] -box.space.memtx:insert{32, "tuple 32"} +box.space.memtx:insert{32, 'tuple 32'} - - [32, 'tuple 32'] -box.space.memtx:insert{33, "tuple 33"} +box.space.memtx:insert{33, 'tuple 33'} - - [33, 'tuple 33'] -box.space.memtx:insert{34, "tuple 34"} +box.space.memtx:insert{34, 'tuple 34'} - - [34, 'tuple 34'] -box.space.vinyl:insert{30, "tuple 30"} +box.space.vinyl:insert{30, 'tuple 30'} - - [30, 'tuple 30'] -box.space.vinyl:insert{31, "tuple 31"} +box.space.vinyl:insert{31, 'tuple 31'} - - [31, 'tuple 31'] -box.space.vinyl:insert{32, "tuple 32"} +box.space.vinyl:insert{32, 'tuple 32'} - - [32, 'tuple 32'] -box.space.vinyl:insert{33, "tuple 33"} +box.space.vinyl:insert{33, 'tuple 33'} - - [33, 'tuple 33'] -box.space.vinyl:insert{34, "tuple 34"} +box.space.vinyl:insert{34, 'tuple 34'} - - [34, 'tuple 34'] box.space.memtx:select{30} @@ -462,34 +462,34 @@ box.space.vinyl:select{33} box.space.vinyl:select{34} - - [34, 'tuple 34'] -box.space.memtx:insert{35, "tuple 35"} +box.space.memtx:insert{35, 'tuple 35'} - - [35, 'tuple 35'] -box.space.memtx:insert{36, "tuple 36"} +box.space.memtx:insert{36, 'tuple 36'} - - [36, 'tuple 36'] -box.space.memtx:insert{37, "tuple 37"} +box.space.memtx:insert{37, 'tuple 37'} - - [37, 'tuple 37'] -box.space.memtx:insert{38, "tuple 38"} +box.space.memtx:insert{38, 'tuple 38'} - - [38, 'tuple 38'] -box.space.memtx:insert{39, "tuple 39"} +box.space.memtx:insert{39, 'tuple 39'} - - [39, 'tuple 39'] -box.space.vinyl:insert{35, "tuple 35"} +box.space.vinyl:insert{35, 'tuple 35'} - - [35, 'tuple 35'] -box.space.vinyl:insert{36, "tuple 36"} +box.space.vinyl:insert{36, 'tuple 36'} - - [36, 'tuple 36'] -box.space.vinyl:insert{37, "tuple 37"} +box.space.vinyl:insert{37, 'tuple 37'} - - [37, 'tuple 37'] -box.space.vinyl:insert{38, "tuple 38"} +box.space.vinyl:insert{38, 'tuple 38'} - - [38, 'tuple 38'] -box.space.vinyl:insert{39, "tuple 39"} +box.space.vinyl:insert{39, 'tuple 39'} - - [39, 'tuple 39'] box.space.memtx:select{35} @@ -529,34 +529,34 @@ box.cfg{replication=''} ... switch replica to replica test 2 iteration -box.space.memtx:insert{40, "tuple 40"} +box.space.memtx:insert{40, 'tuple 40'} - - [40, 'tuple 40'] -box.space.memtx:insert{41, "tuple 41"} +box.space.memtx:insert{41, 'tuple 41'} - - [41, 'tuple 41'] -box.space.memtx:insert{42, "tuple 42"} +box.space.memtx:insert{42, 'tuple 42'} - - [42, 'tuple 42'] -box.space.memtx:insert{43, "tuple 43"} +box.space.memtx:insert{43, 'tuple 43'} - - [43, 'tuple 43'] -box.space.memtx:insert{44, "tuple 44"} +box.space.memtx:insert{44, 'tuple 44'} - - [44, 'tuple 44'] -box.space.vinyl:insert{40, "tuple 40"} +box.space.vinyl:insert{40, 'tuple 40'} - - [40, 'tuple 40'] -box.space.vinyl:insert{41, "tuple 41"} +box.space.vinyl:insert{41, 'tuple 41'} - - [41, 'tuple 41'] -box.space.vinyl:insert{42, "tuple 42"} +box.space.vinyl:insert{42, 'tuple 42'} - - [42, 'tuple 42'] -box.space.vinyl:insert{43, "tuple 43"} +box.space.vinyl:insert{43, 'tuple 43'} - - [43, 'tuple 43'] -box.space.vinyl:insert{44, "tuple 44"} +box.space.vinyl:insert{44, 'tuple 44'} - - [44, 'tuple 44'] box.space.memtx:select{40} @@ -589,34 +589,34 @@ box.space.vinyl:select{43} box.space.vinyl:select{44} - - [44, 'tuple 44'] -box.space.memtx:insert{45, "tuple 45"} +box.space.memtx:insert{45, 'tuple 45'} - - [45, 'tuple 45'] -box.space.memtx:insert{46, "tuple 46"} +box.space.memtx:insert{46, 'tuple 46'} - - [46, 'tuple 46'] -box.space.memtx:insert{47, "tuple 47"} +box.space.memtx:insert{47, 'tuple 47'} - - [47, 'tuple 47'] -box.space.memtx:insert{48, "tuple 48"} +box.space.memtx:insert{48, 'tuple 48'} - - [48, 'tuple 48'] -box.space.memtx:insert{49, "tuple 49"} +box.space.memtx:insert{49, 'tuple 49'} - - [49, 'tuple 49'] -box.space.vinyl:insert{45, "tuple 45"} +box.space.vinyl:insert{45, 'tuple 45'} - - [45, 'tuple 45'] -box.space.vinyl:insert{46, "tuple 46"} +box.space.vinyl:insert{46, 'tuple 46'} - - [46, 'tuple 46'] -box.space.vinyl:insert{47, "tuple 47"} +box.space.vinyl:insert{47, 'tuple 47'} - - [47, 'tuple 47'] -box.space.vinyl:insert{48, "tuple 48"} +box.space.vinyl:insert{48, 'tuple 48'} - - [48, 'tuple 48'] -box.space.vinyl:insert{49, "tuple 49"} +box.space.vinyl:insert{49, 'tuple 49'} - - [49, 'tuple 49'] box.space.memtx:select{45} @@ -655,34 +655,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{50, "tuple 50"} +box.space.memtx:insert{50, 'tuple 50'} - - [50, 'tuple 50'] -box.space.memtx:insert{51, "tuple 51"} +box.space.memtx:insert{51, 'tuple 51'} - - [51, 'tuple 51'] -box.space.memtx:insert{52, "tuple 52"} +box.space.memtx:insert{52, 'tuple 52'} - - [52, 'tuple 52'] -box.space.memtx:insert{53, "tuple 53"} +box.space.memtx:insert{53, 'tuple 53'} - - [53, 'tuple 53'] -box.space.memtx:insert{54, "tuple 54"} +box.space.memtx:insert{54, 'tuple 54'} - - [54, 'tuple 54'] -box.space.vinyl:insert{50, "tuple 50"} +box.space.vinyl:insert{50, 'tuple 50'} - - [50, 'tuple 50'] -box.space.vinyl:insert{51, "tuple 51"} +box.space.vinyl:insert{51, 'tuple 51'} - - [51, 'tuple 51'] -box.space.vinyl:insert{52, "tuple 52"} +box.space.vinyl:insert{52, 'tuple 52'} - - [52, 'tuple 52'] -box.space.vinyl:insert{53, "tuple 53"} +box.space.vinyl:insert{53, 'tuple 53'} - - [53, 'tuple 53'] -box.space.vinyl:insert{54, "tuple 54"} +box.space.vinyl:insert{54, 'tuple 54'} - - [54, 'tuple 54'] box.space.memtx:select{50} @@ -715,34 +715,34 @@ box.space.vinyl:select{53} box.space.vinyl:select{54} - - [54, 'tuple 54'] -box.space.memtx:insert{55, "tuple 55"} +box.space.memtx:insert{55, 'tuple 55'} - - [55, 'tuple 55'] -box.space.memtx:insert{56, "tuple 56"} +box.space.memtx:insert{56, 'tuple 56'} - - [56, 'tuple 56'] -box.space.memtx:insert{57, "tuple 57"} +box.space.memtx:insert{57, 'tuple 57'} - - [57, 'tuple 57'] -box.space.memtx:insert{58, "tuple 58"} +box.space.memtx:insert{58, 'tuple 58'} - - [58, 'tuple 58'] -box.space.memtx:insert{59, "tuple 59"} +box.space.memtx:insert{59, 'tuple 59'} - - [59, 'tuple 59'] -box.space.vinyl:insert{55, "tuple 55"} +box.space.vinyl:insert{55, 'tuple 55'} - - [55, 'tuple 55'] -box.space.vinyl:insert{56, "tuple 56"} +box.space.vinyl:insert{56, 'tuple 56'} - - [56, 'tuple 56'] -box.space.vinyl:insert{57, "tuple 57"} +box.space.vinyl:insert{57, 'tuple 57'} - - [57, 'tuple 57'] -box.space.vinyl:insert{58, "tuple 58"} +box.space.vinyl:insert{58, 'tuple 58'} - - [58, 'tuple 58'] -box.space.vinyl:insert{59, "tuple 59"} +box.space.vinyl:insert{59, 'tuple 59'} - - [59, 'tuple 59'] box.space.memtx:select{55} @@ -782,34 +782,34 @@ box.cfg{replication=''} ... switch replica to replica test 3 iteration -box.space.memtx:insert{60, "tuple 60"} +box.space.memtx:insert{60, 'tuple 60'} - - [60, 'tuple 60'] -box.space.memtx:insert{61, "tuple 61"} +box.space.memtx:insert{61, 'tuple 61'} - - [61, 'tuple 61'] -box.space.memtx:insert{62, "tuple 62"} +box.space.memtx:insert{62, 'tuple 62'} - - [62, 'tuple 62'] -box.space.memtx:insert{63, "tuple 63"} +box.space.memtx:insert{63, 'tuple 63'} - - [63, 'tuple 63'] -box.space.memtx:insert{64, "tuple 64"} +box.space.memtx:insert{64, 'tuple 64'} - - [64, 'tuple 64'] -box.space.vinyl:insert{60, "tuple 60"} +box.space.vinyl:insert{60, 'tuple 60'} - - [60, 'tuple 60'] -box.space.vinyl:insert{61, "tuple 61"} +box.space.vinyl:insert{61, 'tuple 61'} - - [61, 'tuple 61'] -box.space.vinyl:insert{62, "tuple 62"} +box.space.vinyl:insert{62, 'tuple 62'} - - [62, 'tuple 62'] -box.space.vinyl:insert{63, "tuple 63"} +box.space.vinyl:insert{63, 'tuple 63'} - - [63, 'tuple 63'] -box.space.vinyl:insert{64, "tuple 64"} +box.space.vinyl:insert{64, 'tuple 64'} - - [64, 'tuple 64'] box.space.memtx:select{60} @@ -842,34 +842,34 @@ box.space.vinyl:select{63} box.space.vinyl:select{64} - - [64, 'tuple 64'] -box.space.memtx:insert{65, "tuple 65"} +box.space.memtx:insert{65, 'tuple 65'} - - [65, 'tuple 65'] -box.space.memtx:insert{66, "tuple 66"} +box.space.memtx:insert{66, 'tuple 66'} - - [66, 'tuple 66'] -box.space.memtx:insert{67, "tuple 67"} +box.space.memtx:insert{67, 'tuple 67'} - - [67, 'tuple 67'] -box.space.memtx:insert{68, "tuple 68"} +box.space.memtx:insert{68, 'tuple 68'} - - [68, 'tuple 68'] -box.space.memtx:insert{69, "tuple 69"} +box.space.memtx:insert{69, 'tuple 69'} - - [69, 'tuple 69'] -box.space.vinyl:insert{65, "tuple 65"} +box.space.vinyl:insert{65, 'tuple 65'} - - [65, 'tuple 65'] -box.space.vinyl:insert{66, "tuple 66"} +box.space.vinyl:insert{66, 'tuple 66'} - - [66, 'tuple 66'] -box.space.vinyl:insert{67, "tuple 67"} +box.space.vinyl:insert{67, 'tuple 67'} - - [67, 'tuple 67'] -box.space.vinyl:insert{68, "tuple 68"} +box.space.vinyl:insert{68, 'tuple 68'} - - [68, 'tuple 68'] -box.space.vinyl:insert{69, "tuple 69"} +box.space.vinyl:insert{69, 'tuple 69'} - - [69, 'tuple 69'] box.space.memtx:select{65} @@ -908,34 +908,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{70, "tuple 70"} +box.space.memtx:insert{70, 'tuple 70'} - - [70, 'tuple 70'] -box.space.memtx:insert{71, "tuple 71"} +box.space.memtx:insert{71, 'tuple 71'} - - [71, 'tuple 71'] -box.space.memtx:insert{72, "tuple 72"} +box.space.memtx:insert{72, 'tuple 72'} - - [72, 'tuple 72'] -box.space.memtx:insert{73, "tuple 73"} +box.space.memtx:insert{73, 'tuple 73'} - - [73, 'tuple 73'] -box.space.memtx:insert{74, "tuple 74"} +box.space.memtx:insert{74, 'tuple 74'} - - [74, 'tuple 74'] -box.space.vinyl:insert{70, "tuple 70"} +box.space.vinyl:insert{70, 'tuple 70'} - - [70, 'tuple 70'] -box.space.vinyl:insert{71, "tuple 71"} +box.space.vinyl:insert{71, 'tuple 71'} - - [71, 'tuple 71'] -box.space.vinyl:insert{72, "tuple 72"} +box.space.vinyl:insert{72, 'tuple 72'} - - [72, 'tuple 72'] -box.space.vinyl:insert{73, "tuple 73"} +box.space.vinyl:insert{73, 'tuple 73'} - - [73, 'tuple 73'] -box.space.vinyl:insert{74, "tuple 74"} +box.space.vinyl:insert{74, 'tuple 74'} - - [74, 'tuple 74'] box.space.memtx:select{70} @@ -968,34 +968,34 @@ box.space.vinyl:select{73} box.space.vinyl:select{74} - - [74, 'tuple 74'] -box.space.memtx:insert{75, "tuple 75"} +box.space.memtx:insert{75, 'tuple 75'} - - [75, 'tuple 75'] -box.space.memtx:insert{76, "tuple 76"} +box.space.memtx:insert{76, 'tuple 76'} - - [76, 'tuple 76'] -box.space.memtx:insert{77, "tuple 77"} +box.space.memtx:insert{77, 'tuple 77'} - - [77, 'tuple 77'] -box.space.memtx:insert{78, "tuple 78"} +box.space.memtx:insert{78, 'tuple 78'} - - [78, 'tuple 78'] -box.space.memtx:insert{79, "tuple 79"} +box.space.memtx:insert{79, 'tuple 79'} - - [79, 'tuple 79'] -box.space.vinyl:insert{75, "tuple 75"} +box.space.vinyl:insert{75, 'tuple 75'} - - [75, 'tuple 75'] -box.space.vinyl:insert{76, "tuple 76"} +box.space.vinyl:insert{76, 'tuple 76'} - - [76, 'tuple 76'] -box.space.vinyl:insert{77, "tuple 77"} +box.space.vinyl:insert{77, 'tuple 77'} - - [77, 'tuple 77'] -box.space.vinyl:insert{78, "tuple 78"} +box.space.vinyl:insert{78, 'tuple 78'} - - [78, 'tuple 78'] -box.space.vinyl:insert{79, "tuple 79"} +box.space.vinyl:insert{79, 'tuple 79'} - - [79, 'tuple 79'] box.space.memtx:select{75} @@ -1035,34 +1035,34 @@ box.cfg{replication=''} ... switch replica to replica test 4 iteration -box.space.memtx:insert{80, "tuple 80"} +box.space.memtx:insert{80, 'tuple 80'} - - [80, 'tuple 80'] -box.space.memtx:insert{81, "tuple 81"} +box.space.memtx:insert{81, 'tuple 81'} - - [81, 'tuple 81'] -box.space.memtx:insert{82, "tuple 82"} +box.space.memtx:insert{82, 'tuple 82'} - - [82, 'tuple 82'] -box.space.memtx:insert{83, "tuple 83"} +box.space.memtx:insert{83, 'tuple 83'} - - [83, 'tuple 83'] -box.space.memtx:insert{84, "tuple 84"} +box.space.memtx:insert{84, 'tuple 84'} - - [84, 'tuple 84'] -box.space.vinyl:insert{80, "tuple 80"} +box.space.vinyl:insert{80, 'tuple 80'} - - [80, 'tuple 80'] -box.space.vinyl:insert{81, "tuple 81"} +box.space.vinyl:insert{81, 'tuple 81'} - - [81, 'tuple 81'] -box.space.vinyl:insert{82, "tuple 82"} +box.space.vinyl:insert{82, 'tuple 82'} - - [82, 'tuple 82'] -box.space.vinyl:insert{83, "tuple 83"} +box.space.vinyl:insert{83, 'tuple 83'} - - [83, 'tuple 83'] -box.space.vinyl:insert{84, "tuple 84"} +box.space.vinyl:insert{84, 'tuple 84'} - - [84, 'tuple 84'] box.space.memtx:select{80} @@ -1095,34 +1095,34 @@ box.space.vinyl:select{83} box.space.vinyl:select{84} - - [84, 'tuple 84'] -box.space.memtx:insert{85, "tuple 85"} +box.space.memtx:insert{85, 'tuple 85'} - - [85, 'tuple 85'] -box.space.memtx:insert{86, "tuple 86"} +box.space.memtx:insert{86, 'tuple 86'} - - [86, 'tuple 86'] -box.space.memtx:insert{87, "tuple 87"} +box.space.memtx:insert{87, 'tuple 87'} - - [87, 'tuple 87'] -box.space.memtx:insert{88, "tuple 88"} +box.space.memtx:insert{88, 'tuple 88'} - - [88, 'tuple 88'] -box.space.memtx:insert{89, "tuple 89"} +box.space.memtx:insert{89, 'tuple 89'} - - [89, 'tuple 89'] -box.space.vinyl:insert{85, "tuple 85"} +box.space.vinyl:insert{85, 'tuple 85'} - - [85, 'tuple 85'] -box.space.vinyl:insert{86, "tuple 86"} +box.space.vinyl:insert{86, 'tuple 86'} - - [86, 'tuple 86'] -box.space.vinyl:insert{87, "tuple 87"} +box.space.vinyl:insert{87, 'tuple 87'} - - [87, 'tuple 87'] -box.space.vinyl:insert{88, "tuple 88"} +box.space.vinyl:insert{88, 'tuple 88'} - - [88, 'tuple 88'] -box.space.vinyl:insert{89, "tuple 89"} +box.space.vinyl:insert{89, 'tuple 89'} - - [89, 'tuple 89'] box.space.memtx:select{85} @@ -1161,34 +1161,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{90, "tuple 90"} +box.space.memtx:insert{90, 'tuple 90'} - - [90, 'tuple 90'] -box.space.memtx:insert{91, "tuple 91"} +box.space.memtx:insert{91, 'tuple 91'} - - [91, 'tuple 91'] -box.space.memtx:insert{92, "tuple 92"} +box.space.memtx:insert{92, 'tuple 92'} - - [92, 'tuple 92'] -box.space.memtx:insert{93, "tuple 93"} +box.space.memtx:insert{93, 'tuple 93'} - - [93, 'tuple 93'] -box.space.memtx:insert{94, "tuple 94"} +box.space.memtx:insert{94, 'tuple 94'} - - [94, 'tuple 94'] -box.space.vinyl:insert{90, "tuple 90"} +box.space.vinyl:insert{90, 'tuple 90'} - - [90, 'tuple 90'] -box.space.vinyl:insert{91, "tuple 91"} +box.space.vinyl:insert{91, 'tuple 91'} - - [91, 'tuple 91'] -box.space.vinyl:insert{92, "tuple 92"} +box.space.vinyl:insert{92, 'tuple 92'} - - [92, 'tuple 92'] -box.space.vinyl:insert{93, "tuple 93"} +box.space.vinyl:insert{93, 'tuple 93'} - - [93, 'tuple 93'] -box.space.vinyl:insert{94, "tuple 94"} +box.space.vinyl:insert{94, 'tuple 94'} - - [94, 'tuple 94'] box.space.memtx:select{90} @@ -1221,34 +1221,34 @@ box.space.vinyl:select{93} box.space.vinyl:select{94} - - [94, 'tuple 94'] -box.space.memtx:insert{95, "tuple 95"} +box.space.memtx:insert{95, 'tuple 95'} - - [95, 'tuple 95'] -box.space.memtx:insert{96, "tuple 96"} +box.space.memtx:insert{96, 'tuple 96'} - - [96, 'tuple 96'] -box.space.memtx:insert{97, "tuple 97"} +box.space.memtx:insert{97, 'tuple 97'} - - [97, 'tuple 97'] -box.space.memtx:insert{98, "tuple 98"} +box.space.memtx:insert{98, 'tuple 98'} - - [98, 'tuple 98'] -box.space.memtx:insert{99, "tuple 99"} +box.space.memtx:insert{99, 'tuple 99'} - - [99, 'tuple 99'] -box.space.vinyl:insert{95, "tuple 95"} +box.space.vinyl:insert{95, 'tuple 95'} - - [95, 'tuple 95'] -box.space.vinyl:insert{96, "tuple 96"} +box.space.vinyl:insert{96, 'tuple 96'} - - [96, 'tuple 96'] -box.space.vinyl:insert{97, "tuple 97"} +box.space.vinyl:insert{97, 'tuple 97'} - - [97, 'tuple 97'] -box.space.vinyl:insert{98, "tuple 98"} +box.space.vinyl:insert{98, 'tuple 98'} - - [98, 'tuple 98'] -box.space.vinyl:insert{99, "tuple 99"} +box.space.vinyl:insert{99, 'tuple 99'} - - [99, 'tuple 99'] box.space.memtx:select{95} @@ -1288,34 +1288,34 @@ box.cfg{replication=''} ... switch replica to replica test 5 iteration -box.space.memtx:insert{100, "tuple 100"} +box.space.memtx:insert{100, 'tuple 100'} - - [100, 'tuple 100'] -box.space.memtx:insert{101, "tuple 101"} +box.space.memtx:insert{101, 'tuple 101'} - - [101, 'tuple 101'] -box.space.memtx:insert{102, "tuple 102"} +box.space.memtx:insert{102, 'tuple 102'} - - [102, 'tuple 102'] -box.space.memtx:insert{103, "tuple 103"} +box.space.memtx:insert{103, 'tuple 103'} - - [103, 'tuple 103'] -box.space.memtx:insert{104, "tuple 104"} +box.space.memtx:insert{104, 'tuple 104'} - - [104, 'tuple 104'] -box.space.vinyl:insert{100, "tuple 100"} +box.space.vinyl:insert{100, 'tuple 100'} - - [100, 'tuple 100'] -box.space.vinyl:insert{101, "tuple 101"} +box.space.vinyl:insert{101, 'tuple 101'} - - [101, 'tuple 101'] -box.space.vinyl:insert{102, "tuple 102"} +box.space.vinyl:insert{102, 'tuple 102'} - - [102, 'tuple 102'] -box.space.vinyl:insert{103, "tuple 103"} +box.space.vinyl:insert{103, 'tuple 103'} - - [103, 'tuple 103'] -box.space.vinyl:insert{104, "tuple 104"} +box.space.vinyl:insert{104, 'tuple 104'} - - [104, 'tuple 104'] box.space.memtx:select{100} @@ -1348,34 +1348,34 @@ box.space.vinyl:select{103} box.space.vinyl:select{104} - - [104, 'tuple 104'] -box.space.memtx:insert{105, "tuple 105"} +box.space.memtx:insert{105, 'tuple 105'} - - [105, 'tuple 105'] -box.space.memtx:insert{106, "tuple 106"} +box.space.memtx:insert{106, 'tuple 106'} - - [106, 'tuple 106'] -box.space.memtx:insert{107, "tuple 107"} +box.space.memtx:insert{107, 'tuple 107'} - - [107, 'tuple 107'] -box.space.memtx:insert{108, "tuple 108"} +box.space.memtx:insert{108, 'tuple 108'} - - [108, 'tuple 108'] -box.space.memtx:insert{109, "tuple 109"} +box.space.memtx:insert{109, 'tuple 109'} - - [109, 'tuple 109'] -box.space.vinyl:insert{105, "tuple 105"} +box.space.vinyl:insert{105, 'tuple 105'} - - [105, 'tuple 105'] -box.space.vinyl:insert{106, "tuple 106"} +box.space.vinyl:insert{106, 'tuple 106'} - - [106, 'tuple 106'] -box.space.vinyl:insert{107, "tuple 107"} +box.space.vinyl:insert{107, 'tuple 107'} - - [107, 'tuple 107'] -box.space.vinyl:insert{108, "tuple 108"} +box.space.vinyl:insert{108, 'tuple 108'} - - [108, 'tuple 108'] -box.space.vinyl:insert{109, "tuple 109"} +box.space.vinyl:insert{109, 'tuple 109'} - - [109, 'tuple 109'] box.space.memtx:select{105} @@ -1414,34 +1414,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{110, "tuple 110"} +box.space.memtx:insert{110, 'tuple 110'} - - [110, 'tuple 110'] -box.space.memtx:insert{111, "tuple 111"} +box.space.memtx:insert{111, 'tuple 111'} - - [111, 'tuple 111'] -box.space.memtx:insert{112, "tuple 112"} +box.space.memtx:insert{112, 'tuple 112'} - - [112, 'tuple 112'] -box.space.memtx:insert{113, "tuple 113"} +box.space.memtx:insert{113, 'tuple 113'} - - [113, 'tuple 113'] -box.space.memtx:insert{114, "tuple 114"} +box.space.memtx:insert{114, 'tuple 114'} - - [114, 'tuple 114'] -box.space.vinyl:insert{110, "tuple 110"} +box.space.vinyl:insert{110, 'tuple 110'} - - [110, 'tuple 110'] -box.space.vinyl:insert{111, "tuple 111"} +box.space.vinyl:insert{111, 'tuple 111'} - - [111, 'tuple 111'] -box.space.vinyl:insert{112, "tuple 112"} +box.space.vinyl:insert{112, 'tuple 112'} - - [112, 'tuple 112'] -box.space.vinyl:insert{113, "tuple 113"} +box.space.vinyl:insert{113, 'tuple 113'} - - [113, 'tuple 113'] -box.space.vinyl:insert{114, "tuple 114"} +box.space.vinyl:insert{114, 'tuple 114'} - - [114, 'tuple 114'] box.space.memtx:select{110} @@ -1474,34 +1474,34 @@ box.space.vinyl:select{113} box.space.vinyl:select{114} - - [114, 'tuple 114'] -box.space.memtx:insert{115, "tuple 115"} +box.space.memtx:insert{115, 'tuple 115'} - - [115, 'tuple 115'] -box.space.memtx:insert{116, "tuple 116"} +box.space.memtx:insert{116, 'tuple 116'} - - [116, 'tuple 116'] -box.space.memtx:insert{117, "tuple 117"} +box.space.memtx:insert{117, 'tuple 117'} - - [117, 'tuple 117'] -box.space.memtx:insert{118, "tuple 118"} +box.space.memtx:insert{118, 'tuple 118'} - - [118, 'tuple 118'] -box.space.memtx:insert{119, "tuple 119"} +box.space.memtx:insert{119, 'tuple 119'} - - [119, 'tuple 119'] -box.space.vinyl:insert{115, "tuple 115"} +box.space.vinyl:insert{115, 'tuple 115'} - - [115, 'tuple 115'] -box.space.vinyl:insert{116, "tuple 116"} +box.space.vinyl:insert{116, 'tuple 116'} - - [116, 'tuple 116'] -box.space.vinyl:insert{117, "tuple 117"} +box.space.vinyl:insert{117, 'tuple 117'} - - [117, 'tuple 117'] -box.space.vinyl:insert{118, "tuple 118"} +box.space.vinyl:insert{118, 'tuple 118'} - - [118, 'tuple 118'] -box.space.vinyl:insert{119, "tuple 119"} +box.space.vinyl:insert{119, 'tuple 119'} - - [119, 'tuple 119'] box.space.memtx:select{115} @@ -1541,34 +1541,34 @@ box.cfg{replication=''} ... switch replica to replica test 6 iteration -box.space.memtx:insert{120, "tuple 120"} +box.space.memtx:insert{120, 'tuple 120'} - - [120, 'tuple 120'] -box.space.memtx:insert{121, "tuple 121"} +box.space.memtx:insert{121, 'tuple 121'} - - [121, 'tuple 121'] -box.space.memtx:insert{122, "tuple 122"} +box.space.memtx:insert{122, 'tuple 122'} - - [122, 'tuple 122'] -box.space.memtx:insert{123, "tuple 123"} +box.space.memtx:insert{123, 'tuple 123'} - - [123, 'tuple 123'] -box.space.memtx:insert{124, "tuple 124"} +box.space.memtx:insert{124, 'tuple 124'} - - [124, 'tuple 124'] -box.space.vinyl:insert{120, "tuple 120"} +box.space.vinyl:insert{120, 'tuple 120'} - - [120, 'tuple 120'] -box.space.vinyl:insert{121, "tuple 121"} +box.space.vinyl:insert{121, 'tuple 121'} - - [121, 'tuple 121'] -box.space.vinyl:insert{122, "tuple 122"} +box.space.vinyl:insert{122, 'tuple 122'} - - [122, 'tuple 122'] -box.space.vinyl:insert{123, "tuple 123"} +box.space.vinyl:insert{123, 'tuple 123'} - - [123, 'tuple 123'] -box.space.vinyl:insert{124, "tuple 124"} +box.space.vinyl:insert{124, 'tuple 124'} - - [124, 'tuple 124'] box.space.memtx:select{120} @@ -1601,34 +1601,34 @@ box.space.vinyl:select{123} box.space.vinyl:select{124} - - [124, 'tuple 124'] -box.space.memtx:insert{125, "tuple 125"} +box.space.memtx:insert{125, 'tuple 125'} - - [125, 'tuple 125'] -box.space.memtx:insert{126, "tuple 126"} +box.space.memtx:insert{126, 'tuple 126'} - - [126, 'tuple 126'] -box.space.memtx:insert{127, "tuple 127"} +box.space.memtx:insert{127, 'tuple 127'} - - [127, 'tuple 127'] -box.space.memtx:insert{128, "tuple 128"} +box.space.memtx:insert{128, 'tuple 128'} - - [128, 'tuple 128'] -box.space.memtx:insert{129, "tuple 129"} +box.space.memtx:insert{129, 'tuple 129'} - - [129, 'tuple 129'] -box.space.vinyl:insert{125, "tuple 125"} +box.space.vinyl:insert{125, 'tuple 125'} - - [125, 'tuple 125'] -box.space.vinyl:insert{126, "tuple 126"} +box.space.vinyl:insert{126, 'tuple 126'} - - [126, 'tuple 126'] -box.space.vinyl:insert{127, "tuple 127"} +box.space.vinyl:insert{127, 'tuple 127'} - - [127, 'tuple 127'] -box.space.vinyl:insert{128, "tuple 128"} +box.space.vinyl:insert{128, 'tuple 128'} - - [128, 'tuple 128'] -box.space.vinyl:insert{129, "tuple 129"} +box.space.vinyl:insert{129, 'tuple 129'} - - [129, 'tuple 129'] box.space.memtx:select{125} @@ -1667,34 +1667,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{130, "tuple 130"} +box.space.memtx:insert{130, 'tuple 130'} - - [130, 'tuple 130'] -box.space.memtx:insert{131, "tuple 131"} +box.space.memtx:insert{131, 'tuple 131'} - - [131, 'tuple 131'] -box.space.memtx:insert{132, "tuple 132"} +box.space.memtx:insert{132, 'tuple 132'} - - [132, 'tuple 132'] -box.space.memtx:insert{133, "tuple 133"} +box.space.memtx:insert{133, 'tuple 133'} - - [133, 'tuple 133'] -box.space.memtx:insert{134, "tuple 134"} +box.space.memtx:insert{134, 'tuple 134'} - - [134, 'tuple 134'] -box.space.vinyl:insert{130, "tuple 130"} +box.space.vinyl:insert{130, 'tuple 130'} - - [130, 'tuple 130'] -box.space.vinyl:insert{131, "tuple 131"} +box.space.vinyl:insert{131, 'tuple 131'} - - [131, 'tuple 131'] -box.space.vinyl:insert{132, "tuple 132"} +box.space.vinyl:insert{132, 'tuple 132'} - - [132, 'tuple 132'] -box.space.vinyl:insert{133, "tuple 133"} +box.space.vinyl:insert{133, 'tuple 133'} - - [133, 'tuple 133'] -box.space.vinyl:insert{134, "tuple 134"} +box.space.vinyl:insert{134, 'tuple 134'} - - [134, 'tuple 134'] box.space.memtx:select{130} @@ -1727,34 +1727,34 @@ box.space.vinyl:select{133} box.space.vinyl:select{134} - - [134, 'tuple 134'] -box.space.memtx:insert{135, "tuple 135"} +box.space.memtx:insert{135, 'tuple 135'} - - [135, 'tuple 135'] -box.space.memtx:insert{136, "tuple 136"} +box.space.memtx:insert{136, 'tuple 136'} - - [136, 'tuple 136'] -box.space.memtx:insert{137, "tuple 137"} +box.space.memtx:insert{137, 'tuple 137'} - - [137, 'tuple 137'] -box.space.memtx:insert{138, "tuple 138"} +box.space.memtx:insert{138, 'tuple 138'} - - [138, 'tuple 138'] -box.space.memtx:insert{139, "tuple 139"} +box.space.memtx:insert{139, 'tuple 139'} - - [139, 'tuple 139'] -box.space.vinyl:insert{135, "tuple 135"} +box.space.vinyl:insert{135, 'tuple 135'} - - [135, 'tuple 135'] -box.space.vinyl:insert{136, "tuple 136"} +box.space.vinyl:insert{136, 'tuple 136'} - - [136, 'tuple 136'] -box.space.vinyl:insert{137, "tuple 137"} +box.space.vinyl:insert{137, 'tuple 137'} - - [137, 'tuple 137'] -box.space.vinyl:insert{138, "tuple 138"} +box.space.vinyl:insert{138, 'tuple 138'} - - [138, 'tuple 138'] -box.space.vinyl:insert{139, "tuple 139"} +box.space.vinyl:insert{139, 'tuple 139'} - - [139, 'tuple 139'] box.space.memtx:select{135} @@ -1794,34 +1794,34 @@ box.cfg{replication=''} ... switch replica to replica test 7 iteration -box.space.memtx:insert{140, "tuple 140"} +box.space.memtx:insert{140, 'tuple 140'} - - [140, 'tuple 140'] -box.space.memtx:insert{141, "tuple 141"} +box.space.memtx:insert{141, 'tuple 141'} - - [141, 'tuple 141'] -box.space.memtx:insert{142, "tuple 142"} +box.space.memtx:insert{142, 'tuple 142'} - - [142, 'tuple 142'] -box.space.memtx:insert{143, "tuple 143"} +box.space.memtx:insert{143, 'tuple 143'} - - [143, 'tuple 143'] -box.space.memtx:insert{144, "tuple 144"} +box.space.memtx:insert{144, 'tuple 144'} - - [144, 'tuple 144'] -box.space.vinyl:insert{140, "tuple 140"} +box.space.vinyl:insert{140, 'tuple 140'} - - [140, 'tuple 140'] -box.space.vinyl:insert{141, "tuple 141"} +box.space.vinyl:insert{141, 'tuple 141'} - - [141, 'tuple 141'] -box.space.vinyl:insert{142, "tuple 142"} +box.space.vinyl:insert{142, 'tuple 142'} - - [142, 'tuple 142'] -box.space.vinyl:insert{143, "tuple 143"} +box.space.vinyl:insert{143, 'tuple 143'} - - [143, 'tuple 143'] -box.space.vinyl:insert{144, "tuple 144"} +box.space.vinyl:insert{144, 'tuple 144'} - - [144, 'tuple 144'] box.space.memtx:select{140} @@ -1854,34 +1854,34 @@ box.space.vinyl:select{143} box.space.vinyl:select{144} - - [144, 'tuple 144'] -box.space.memtx:insert{145, "tuple 145"} +box.space.memtx:insert{145, 'tuple 145'} - - [145, 'tuple 145'] -box.space.memtx:insert{146, "tuple 146"} +box.space.memtx:insert{146, 'tuple 146'} - - [146, 'tuple 146'] -box.space.memtx:insert{147, "tuple 147"} +box.space.memtx:insert{147, 'tuple 147'} - - [147, 'tuple 147'] -box.space.memtx:insert{148, "tuple 148"} +box.space.memtx:insert{148, 'tuple 148'} - - [148, 'tuple 148'] -box.space.memtx:insert{149, "tuple 149"} +box.space.memtx:insert{149, 'tuple 149'} - - [149, 'tuple 149'] -box.space.vinyl:insert{145, "tuple 145"} +box.space.vinyl:insert{145, 'tuple 145'} - - [145, 'tuple 145'] -box.space.vinyl:insert{146, "tuple 146"} +box.space.vinyl:insert{146, 'tuple 146'} - - [146, 'tuple 146'] -box.space.vinyl:insert{147, "tuple 147"} +box.space.vinyl:insert{147, 'tuple 147'} - - [147, 'tuple 147'] -box.space.vinyl:insert{148, "tuple 148"} +box.space.vinyl:insert{148, 'tuple 148'} - - [148, 'tuple 148'] -box.space.vinyl:insert{149, "tuple 149"} +box.space.vinyl:insert{149, 'tuple 149'} - - [149, 'tuple 149'] box.space.memtx:select{145} @@ -1920,34 +1920,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{150, "tuple 150"} +box.space.memtx:insert{150, 'tuple 150'} - - [150, 'tuple 150'] -box.space.memtx:insert{151, "tuple 151"} +box.space.memtx:insert{151, 'tuple 151'} - - [151, 'tuple 151'] -box.space.memtx:insert{152, "tuple 152"} +box.space.memtx:insert{152, 'tuple 152'} - - [152, 'tuple 152'] -box.space.memtx:insert{153, "tuple 153"} +box.space.memtx:insert{153, 'tuple 153'} - - [153, 'tuple 153'] -box.space.memtx:insert{154, "tuple 154"} +box.space.memtx:insert{154, 'tuple 154'} - - [154, 'tuple 154'] -box.space.vinyl:insert{150, "tuple 150"} +box.space.vinyl:insert{150, 'tuple 150'} - - [150, 'tuple 150'] -box.space.vinyl:insert{151, "tuple 151"} +box.space.vinyl:insert{151, 'tuple 151'} - - [151, 'tuple 151'] -box.space.vinyl:insert{152, "tuple 152"} +box.space.vinyl:insert{152, 'tuple 152'} - - [152, 'tuple 152'] -box.space.vinyl:insert{153, "tuple 153"} +box.space.vinyl:insert{153, 'tuple 153'} - - [153, 'tuple 153'] -box.space.vinyl:insert{154, "tuple 154"} +box.space.vinyl:insert{154, 'tuple 154'} - - [154, 'tuple 154'] box.space.memtx:select{150} @@ -1980,34 +1980,34 @@ box.space.vinyl:select{153} box.space.vinyl:select{154} - - [154, 'tuple 154'] -box.space.memtx:insert{155, "tuple 155"} +box.space.memtx:insert{155, 'tuple 155'} - - [155, 'tuple 155'] -box.space.memtx:insert{156, "tuple 156"} +box.space.memtx:insert{156, 'tuple 156'} - - [156, 'tuple 156'] -box.space.memtx:insert{157, "tuple 157"} +box.space.memtx:insert{157, 'tuple 157'} - - [157, 'tuple 157'] -box.space.memtx:insert{158, "tuple 158"} +box.space.memtx:insert{158, 'tuple 158'} - - [158, 'tuple 158'] -box.space.memtx:insert{159, "tuple 159"} +box.space.memtx:insert{159, 'tuple 159'} - - [159, 'tuple 159'] -box.space.vinyl:insert{155, "tuple 155"} +box.space.vinyl:insert{155, 'tuple 155'} - - [155, 'tuple 155'] -box.space.vinyl:insert{156, "tuple 156"} +box.space.vinyl:insert{156, 'tuple 156'} - - [156, 'tuple 156'] -box.space.vinyl:insert{157, "tuple 157"} +box.space.vinyl:insert{157, 'tuple 157'} - - [157, 'tuple 157'] -box.space.vinyl:insert{158, "tuple 158"} +box.space.vinyl:insert{158, 'tuple 158'} - - [158, 'tuple 158'] -box.space.vinyl:insert{159, "tuple 159"} +box.space.vinyl:insert{159, 'tuple 159'} - - [159, 'tuple 159'] box.space.memtx:select{155} @@ -2047,34 +2047,34 @@ box.cfg{replication=''} ... switch replica to replica test 8 iteration -box.space.memtx:insert{160, "tuple 160"} +box.space.memtx:insert{160, 'tuple 160'} - - [160, 'tuple 160'] -box.space.memtx:insert{161, "tuple 161"} +box.space.memtx:insert{161, 'tuple 161'} - - [161, 'tuple 161'] -box.space.memtx:insert{162, "tuple 162"} +box.space.memtx:insert{162, 'tuple 162'} - - [162, 'tuple 162'] -box.space.memtx:insert{163, "tuple 163"} +box.space.memtx:insert{163, 'tuple 163'} - - [163, 'tuple 163'] -box.space.memtx:insert{164, "tuple 164"} +box.space.memtx:insert{164, 'tuple 164'} - - [164, 'tuple 164'] -box.space.vinyl:insert{160, "tuple 160"} +box.space.vinyl:insert{160, 'tuple 160'} - - [160, 'tuple 160'] -box.space.vinyl:insert{161, "tuple 161"} +box.space.vinyl:insert{161, 'tuple 161'} - - [161, 'tuple 161'] -box.space.vinyl:insert{162, "tuple 162"} +box.space.vinyl:insert{162, 'tuple 162'} - - [162, 'tuple 162'] -box.space.vinyl:insert{163, "tuple 163"} +box.space.vinyl:insert{163, 'tuple 163'} - - [163, 'tuple 163'] -box.space.vinyl:insert{164, "tuple 164"} +box.space.vinyl:insert{164, 'tuple 164'} - - [164, 'tuple 164'] box.space.memtx:select{160} @@ -2107,34 +2107,34 @@ box.space.vinyl:select{163} box.space.vinyl:select{164} - - [164, 'tuple 164'] -box.space.memtx:insert{165, "tuple 165"} +box.space.memtx:insert{165, 'tuple 165'} - - [165, 'tuple 165'] -box.space.memtx:insert{166, "tuple 166"} +box.space.memtx:insert{166, 'tuple 166'} - - [166, 'tuple 166'] -box.space.memtx:insert{167, "tuple 167"} +box.space.memtx:insert{167, 'tuple 167'} - - [167, 'tuple 167'] -box.space.memtx:insert{168, "tuple 168"} +box.space.memtx:insert{168, 'tuple 168'} - - [168, 'tuple 168'] -box.space.memtx:insert{169, "tuple 169"} +box.space.memtx:insert{169, 'tuple 169'} - - [169, 'tuple 169'] -box.space.vinyl:insert{165, "tuple 165"} +box.space.vinyl:insert{165, 'tuple 165'} - - [165, 'tuple 165'] -box.space.vinyl:insert{166, "tuple 166"} +box.space.vinyl:insert{166, 'tuple 166'} - - [166, 'tuple 166'] -box.space.vinyl:insert{167, "tuple 167"} +box.space.vinyl:insert{167, 'tuple 167'} - - [167, 'tuple 167'] -box.space.vinyl:insert{168, "tuple 168"} +box.space.vinyl:insert{168, 'tuple 168'} - - [168, 'tuple 168'] -box.space.vinyl:insert{169, "tuple 169"} +box.space.vinyl:insert{169, 'tuple 169'} - - [169, 'tuple 169'] box.space.memtx:select{165} @@ -2173,34 +2173,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{170, "tuple 170"} +box.space.memtx:insert{170, 'tuple 170'} - - [170, 'tuple 170'] -box.space.memtx:insert{171, "tuple 171"} +box.space.memtx:insert{171, 'tuple 171'} - - [171, 'tuple 171'] -box.space.memtx:insert{172, "tuple 172"} +box.space.memtx:insert{172, 'tuple 172'} - - [172, 'tuple 172'] -box.space.memtx:insert{173, "tuple 173"} +box.space.memtx:insert{173, 'tuple 173'} - - [173, 'tuple 173'] -box.space.memtx:insert{174, "tuple 174"} +box.space.memtx:insert{174, 'tuple 174'} - - [174, 'tuple 174'] -box.space.vinyl:insert{170, "tuple 170"} +box.space.vinyl:insert{170, 'tuple 170'} - - [170, 'tuple 170'] -box.space.vinyl:insert{171, "tuple 171"} +box.space.vinyl:insert{171, 'tuple 171'} - - [171, 'tuple 171'] -box.space.vinyl:insert{172, "tuple 172"} +box.space.vinyl:insert{172, 'tuple 172'} - - [172, 'tuple 172'] -box.space.vinyl:insert{173, "tuple 173"} +box.space.vinyl:insert{173, 'tuple 173'} - - [173, 'tuple 173'] -box.space.vinyl:insert{174, "tuple 174"} +box.space.vinyl:insert{174, 'tuple 174'} - - [174, 'tuple 174'] box.space.memtx:select{170} @@ -2233,34 +2233,34 @@ box.space.vinyl:select{173} box.space.vinyl:select{174} - - [174, 'tuple 174'] -box.space.memtx:insert{175, "tuple 175"} +box.space.memtx:insert{175, 'tuple 175'} - - [175, 'tuple 175'] -box.space.memtx:insert{176, "tuple 176"} +box.space.memtx:insert{176, 'tuple 176'} - - [176, 'tuple 176'] -box.space.memtx:insert{177, "tuple 177"} +box.space.memtx:insert{177, 'tuple 177'} - - [177, 'tuple 177'] -box.space.memtx:insert{178, "tuple 178"} +box.space.memtx:insert{178, 'tuple 178'} - - [178, 'tuple 178'] -box.space.memtx:insert{179, "tuple 179"} +box.space.memtx:insert{179, 'tuple 179'} - - [179, 'tuple 179'] -box.space.vinyl:insert{175, "tuple 175"} +box.space.vinyl:insert{175, 'tuple 175'} - - [175, 'tuple 175'] -box.space.vinyl:insert{176, "tuple 176"} +box.space.vinyl:insert{176, 'tuple 176'} - - [176, 'tuple 176'] -box.space.vinyl:insert{177, "tuple 177"} +box.space.vinyl:insert{177, 'tuple 177'} - - [177, 'tuple 177'] -box.space.vinyl:insert{178, "tuple 178"} +box.space.vinyl:insert{178, 'tuple 178'} - - [178, 'tuple 178'] -box.space.vinyl:insert{179, "tuple 179"} +box.space.vinyl:insert{179, 'tuple 179'} - - [179, 'tuple 179'] box.space.memtx:select{175} @@ -2300,34 +2300,34 @@ box.cfg{replication=''} ... switch replica to replica test 9 iteration -box.space.memtx:insert{180, "tuple 180"} +box.space.memtx:insert{180, 'tuple 180'} - - [180, 'tuple 180'] -box.space.memtx:insert{181, "tuple 181"} +box.space.memtx:insert{181, 'tuple 181'} - - [181, 'tuple 181'] -box.space.memtx:insert{182, "tuple 182"} +box.space.memtx:insert{182, 'tuple 182'} - - [182, 'tuple 182'] -box.space.memtx:insert{183, "tuple 183"} +box.space.memtx:insert{183, 'tuple 183'} - - [183, 'tuple 183'] -box.space.memtx:insert{184, "tuple 184"} +box.space.memtx:insert{184, 'tuple 184'} - - [184, 'tuple 184'] -box.space.vinyl:insert{180, "tuple 180"} +box.space.vinyl:insert{180, 'tuple 180'} - - [180, 'tuple 180'] -box.space.vinyl:insert{181, "tuple 181"} +box.space.vinyl:insert{181, 'tuple 181'} - - [181, 'tuple 181'] -box.space.vinyl:insert{182, "tuple 182"} +box.space.vinyl:insert{182, 'tuple 182'} - - [182, 'tuple 182'] -box.space.vinyl:insert{183, "tuple 183"} +box.space.vinyl:insert{183, 'tuple 183'} - - [183, 'tuple 183'] -box.space.vinyl:insert{184, "tuple 184"} +box.space.vinyl:insert{184, 'tuple 184'} - - [184, 'tuple 184'] box.space.memtx:select{180} @@ -2360,34 +2360,34 @@ box.space.vinyl:select{183} box.space.vinyl:select{184} - - [184, 'tuple 184'] -box.space.memtx:insert{185, "tuple 185"} +box.space.memtx:insert{185, 'tuple 185'} - - [185, 'tuple 185'] -box.space.memtx:insert{186, "tuple 186"} +box.space.memtx:insert{186, 'tuple 186'} - - [186, 'tuple 186'] -box.space.memtx:insert{187, "tuple 187"} +box.space.memtx:insert{187, 'tuple 187'} - - [187, 'tuple 187'] -box.space.memtx:insert{188, "tuple 188"} +box.space.memtx:insert{188, 'tuple 188'} - - [188, 'tuple 188'] -box.space.memtx:insert{189, "tuple 189"} +box.space.memtx:insert{189, 'tuple 189'} - - [189, 'tuple 189'] -box.space.vinyl:insert{185, "tuple 185"} +box.space.vinyl:insert{185, 'tuple 185'} - - [185, 'tuple 185'] -box.space.vinyl:insert{186, "tuple 186"} +box.space.vinyl:insert{186, 'tuple 186'} - - [186, 'tuple 186'] -box.space.vinyl:insert{187, "tuple 187"} +box.space.vinyl:insert{187, 'tuple 187'} - - [187, 'tuple 187'] -box.space.vinyl:insert{188, "tuple 188"} +box.space.vinyl:insert{188, 'tuple 188'} - - [188, 'tuple 188'] -box.space.vinyl:insert{189, "tuple 189"} +box.space.vinyl:insert{189, 'tuple 189'} - - [189, 'tuple 189'] box.space.memtx:select{185} @@ -2426,34 +2426,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{190, "tuple 190"} +box.space.memtx:insert{190, 'tuple 190'} - - [190, 'tuple 190'] -box.space.memtx:insert{191, "tuple 191"} +box.space.memtx:insert{191, 'tuple 191'} - - [191, 'tuple 191'] -box.space.memtx:insert{192, "tuple 192"} +box.space.memtx:insert{192, 'tuple 192'} - - [192, 'tuple 192'] -box.space.memtx:insert{193, "tuple 193"} +box.space.memtx:insert{193, 'tuple 193'} - - [193, 'tuple 193'] -box.space.memtx:insert{194, "tuple 194"} +box.space.memtx:insert{194, 'tuple 194'} - - [194, 'tuple 194'] -box.space.vinyl:insert{190, "tuple 190"} +box.space.vinyl:insert{190, 'tuple 190'} - - [190, 'tuple 190'] -box.space.vinyl:insert{191, "tuple 191"} +box.space.vinyl:insert{191, 'tuple 191'} - - [191, 'tuple 191'] -box.space.vinyl:insert{192, "tuple 192"} +box.space.vinyl:insert{192, 'tuple 192'} - - [192, 'tuple 192'] -box.space.vinyl:insert{193, "tuple 193"} +box.space.vinyl:insert{193, 'tuple 193'} - - [193, 'tuple 193'] -box.space.vinyl:insert{194, "tuple 194"} +box.space.vinyl:insert{194, 'tuple 194'} - - [194, 'tuple 194'] box.space.memtx:select{190} @@ -2486,34 +2486,34 @@ box.space.vinyl:select{193} box.space.vinyl:select{194} - - [194, 'tuple 194'] -box.space.memtx:insert{195, "tuple 195"} +box.space.memtx:insert{195, 'tuple 195'} - - [195, 'tuple 195'] -box.space.memtx:insert{196, "tuple 196"} +box.space.memtx:insert{196, 'tuple 196'} - - [196, 'tuple 196'] -box.space.memtx:insert{197, "tuple 197"} +box.space.memtx:insert{197, 'tuple 197'} - - [197, 'tuple 197'] -box.space.memtx:insert{198, "tuple 198"} +box.space.memtx:insert{198, 'tuple 198'} - - [198, 'tuple 198'] -box.space.memtx:insert{199, "tuple 199"} +box.space.memtx:insert{199, 'tuple 199'} - - [199, 'tuple 199'] -box.space.vinyl:insert{195, "tuple 195"} +box.space.vinyl:insert{195, 'tuple 195'} - - [195, 'tuple 195'] -box.space.vinyl:insert{196, "tuple 196"} +box.space.vinyl:insert{196, 'tuple 196'} - - [196, 'tuple 196'] -box.space.vinyl:insert{197, "tuple 197"} +box.space.vinyl:insert{197, 'tuple 197'} - - [197, 'tuple 197'] -box.space.vinyl:insert{198, "tuple 198"} +box.space.vinyl:insert{198, 'tuple 198'} - - [198, 'tuple 198'] -box.space.vinyl:insert{199, "tuple 199"} +box.space.vinyl:insert{199, 'tuple 199'} - - [199, 'tuple 199'] box.space.memtx:select{195} @@ -2553,34 +2553,34 @@ box.cfg{replication=''} ... switch replica to replica test 10 iteration -box.space.memtx:insert{200, "tuple 200"} +box.space.memtx:insert{200, 'tuple 200'} - - [200, 'tuple 200'] -box.space.memtx:insert{201, "tuple 201"} +box.space.memtx:insert{201, 'tuple 201'} - - [201, 'tuple 201'] -box.space.memtx:insert{202, "tuple 202"} +box.space.memtx:insert{202, 'tuple 202'} - - [202, 'tuple 202'] -box.space.memtx:insert{203, "tuple 203"} +box.space.memtx:insert{203, 'tuple 203'} - - [203, 'tuple 203'] -box.space.memtx:insert{204, "tuple 204"} +box.space.memtx:insert{204, 'tuple 204'} - - [204, 'tuple 204'] -box.space.vinyl:insert{200, "tuple 200"} +box.space.vinyl:insert{200, 'tuple 200'} - - [200, 'tuple 200'] -box.space.vinyl:insert{201, "tuple 201"} +box.space.vinyl:insert{201, 'tuple 201'} - - [201, 'tuple 201'] -box.space.vinyl:insert{202, "tuple 202"} +box.space.vinyl:insert{202, 'tuple 202'} - - [202, 'tuple 202'] -box.space.vinyl:insert{203, "tuple 203"} +box.space.vinyl:insert{203, 'tuple 203'} - - [203, 'tuple 203'] -box.space.vinyl:insert{204, "tuple 204"} +box.space.vinyl:insert{204, 'tuple 204'} - - [204, 'tuple 204'] box.space.memtx:select{200} @@ -2613,34 +2613,34 @@ box.space.vinyl:select{203} box.space.vinyl:select{204} - - [204, 'tuple 204'] -box.space.memtx:insert{205, "tuple 205"} +box.space.memtx:insert{205, 'tuple 205'} - - [205, 'tuple 205'] -box.space.memtx:insert{206, "tuple 206"} +box.space.memtx:insert{206, 'tuple 206'} - - [206, 'tuple 206'] -box.space.memtx:insert{207, "tuple 207"} +box.space.memtx:insert{207, 'tuple 207'} - - [207, 'tuple 207'] -box.space.memtx:insert{208, "tuple 208"} +box.space.memtx:insert{208, 'tuple 208'} - - [208, 'tuple 208'] -box.space.memtx:insert{209, "tuple 209"} +box.space.memtx:insert{209, 'tuple 209'} - - [209, 'tuple 209'] -box.space.vinyl:insert{205, "tuple 205"} +box.space.vinyl:insert{205, 'tuple 205'} - - [205, 'tuple 205'] -box.space.vinyl:insert{206, "tuple 206"} +box.space.vinyl:insert{206, 'tuple 206'} - - [206, 'tuple 206'] -box.space.vinyl:insert{207, "tuple 207"} +box.space.vinyl:insert{207, 'tuple 207'} - - [207, 'tuple 207'] -box.space.vinyl:insert{208, "tuple 208"} +box.space.vinyl:insert{208, 'tuple 208'} - - [208, 'tuple 208'] -box.space.vinyl:insert{209, "tuple 209"} +box.space.vinyl:insert{209, 'tuple 209'} - - [209, 'tuple 209'] box.space.memtx:select{205} @@ -2679,34 +2679,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{210, "tuple 210"} +box.space.memtx:insert{210, 'tuple 210'} - - [210, 'tuple 210'] -box.space.memtx:insert{211, "tuple 211"} +box.space.memtx:insert{211, 'tuple 211'} - - [211, 'tuple 211'] -box.space.memtx:insert{212, "tuple 212"} +box.space.memtx:insert{212, 'tuple 212'} - - [212, 'tuple 212'] -box.space.memtx:insert{213, "tuple 213"} +box.space.memtx:insert{213, 'tuple 213'} - - [213, 'tuple 213'] -box.space.memtx:insert{214, "tuple 214"} +box.space.memtx:insert{214, 'tuple 214'} - - [214, 'tuple 214'] -box.space.vinyl:insert{210, "tuple 210"} +box.space.vinyl:insert{210, 'tuple 210'} - - [210, 'tuple 210'] -box.space.vinyl:insert{211, "tuple 211"} +box.space.vinyl:insert{211, 'tuple 211'} - - [211, 'tuple 211'] -box.space.vinyl:insert{212, "tuple 212"} +box.space.vinyl:insert{212, 'tuple 212'} - - [212, 'tuple 212'] -box.space.vinyl:insert{213, "tuple 213"} +box.space.vinyl:insert{213, 'tuple 213'} - - [213, 'tuple 213'] -box.space.vinyl:insert{214, "tuple 214"} +box.space.vinyl:insert{214, 'tuple 214'} - - [214, 'tuple 214'] box.space.memtx:select{210} @@ -2739,34 +2739,34 @@ box.space.vinyl:select{213} box.space.vinyl:select{214} - - [214, 'tuple 214'] -box.space.memtx:insert{215, "tuple 215"} +box.space.memtx:insert{215, 'tuple 215'} - - [215, 'tuple 215'] -box.space.memtx:insert{216, "tuple 216"} +box.space.memtx:insert{216, 'tuple 216'} - - [216, 'tuple 216'] -box.space.memtx:insert{217, "tuple 217"} +box.space.memtx:insert{217, 'tuple 217'} - - [217, 'tuple 217'] -box.space.memtx:insert{218, "tuple 218"} +box.space.memtx:insert{218, 'tuple 218'} - - [218, 'tuple 218'] -box.space.memtx:insert{219, "tuple 219"} +box.space.memtx:insert{219, 'tuple 219'} - - [219, 'tuple 219'] -box.space.vinyl:insert{215, "tuple 215"} +box.space.vinyl:insert{215, 'tuple 215'} - - [215, 'tuple 215'] -box.space.vinyl:insert{216, "tuple 216"} +box.space.vinyl:insert{216, 'tuple 216'} - - [216, 'tuple 216'] -box.space.vinyl:insert{217, "tuple 217"} +box.space.vinyl:insert{217, 'tuple 217'} - - [217, 'tuple 217'] -box.space.vinyl:insert{218, "tuple 218"} +box.space.vinyl:insert{218, 'tuple 218'} - - [218, 'tuple 218'] -box.space.vinyl:insert{219, "tuple 219"} +box.space.vinyl:insert{219, 'tuple 219'} - - [219, 'tuple 219'] box.space.memtx:select{215} @@ -2806,34 +2806,34 @@ box.cfg{replication=''} ... switch replica to replica test 11 iteration -box.space.memtx:insert{220, "tuple 220"} +box.space.memtx:insert{220, 'tuple 220'} - - [220, 'tuple 220'] -box.space.memtx:insert{221, "tuple 221"} +box.space.memtx:insert{221, 'tuple 221'} - - [221, 'tuple 221'] -box.space.memtx:insert{222, "tuple 222"} +box.space.memtx:insert{222, 'tuple 222'} - - [222, 'tuple 222'] -box.space.memtx:insert{223, "tuple 223"} +box.space.memtx:insert{223, 'tuple 223'} - - [223, 'tuple 223'] -box.space.memtx:insert{224, "tuple 224"} +box.space.memtx:insert{224, 'tuple 224'} - - [224, 'tuple 224'] -box.space.vinyl:insert{220, "tuple 220"} +box.space.vinyl:insert{220, 'tuple 220'} - - [220, 'tuple 220'] -box.space.vinyl:insert{221, "tuple 221"} +box.space.vinyl:insert{221, 'tuple 221'} - - [221, 'tuple 221'] -box.space.vinyl:insert{222, "tuple 222"} +box.space.vinyl:insert{222, 'tuple 222'} - - [222, 'tuple 222'] -box.space.vinyl:insert{223, "tuple 223"} +box.space.vinyl:insert{223, 'tuple 223'} - - [223, 'tuple 223'] -box.space.vinyl:insert{224, "tuple 224"} +box.space.vinyl:insert{224, 'tuple 224'} - - [224, 'tuple 224'] box.space.memtx:select{220} @@ -2866,34 +2866,34 @@ box.space.vinyl:select{223} box.space.vinyl:select{224} - - [224, 'tuple 224'] -box.space.memtx:insert{225, "tuple 225"} +box.space.memtx:insert{225, 'tuple 225'} - - [225, 'tuple 225'] -box.space.memtx:insert{226, "tuple 226"} +box.space.memtx:insert{226, 'tuple 226'} - - [226, 'tuple 226'] -box.space.memtx:insert{227, "tuple 227"} +box.space.memtx:insert{227, 'tuple 227'} - - [227, 'tuple 227'] -box.space.memtx:insert{228, "tuple 228"} +box.space.memtx:insert{228, 'tuple 228'} - - [228, 'tuple 228'] -box.space.memtx:insert{229, "tuple 229"} +box.space.memtx:insert{229, 'tuple 229'} - - [229, 'tuple 229'] -box.space.vinyl:insert{225, "tuple 225"} +box.space.vinyl:insert{225, 'tuple 225'} - - [225, 'tuple 225'] -box.space.vinyl:insert{226, "tuple 226"} +box.space.vinyl:insert{226, 'tuple 226'} - - [226, 'tuple 226'] -box.space.vinyl:insert{227, "tuple 227"} +box.space.vinyl:insert{227, 'tuple 227'} - - [227, 'tuple 227'] -box.space.vinyl:insert{228, "tuple 228"} +box.space.vinyl:insert{228, 'tuple 228'} - - [228, 'tuple 228'] -box.space.vinyl:insert{229, "tuple 229"} +box.space.vinyl:insert{229, 'tuple 229'} - - [229, 'tuple 229'] box.space.memtx:select{225} @@ -2932,34 +2932,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{230, "tuple 230"} +box.space.memtx:insert{230, 'tuple 230'} - - [230, 'tuple 230'] -box.space.memtx:insert{231, "tuple 231"} +box.space.memtx:insert{231, 'tuple 231'} - - [231, 'tuple 231'] -box.space.memtx:insert{232, "tuple 232"} +box.space.memtx:insert{232, 'tuple 232'} - - [232, 'tuple 232'] -box.space.memtx:insert{233, "tuple 233"} +box.space.memtx:insert{233, 'tuple 233'} - - [233, 'tuple 233'] -box.space.memtx:insert{234, "tuple 234"} +box.space.memtx:insert{234, 'tuple 234'} - - [234, 'tuple 234'] -box.space.vinyl:insert{230, "tuple 230"} +box.space.vinyl:insert{230, 'tuple 230'} - - [230, 'tuple 230'] -box.space.vinyl:insert{231, "tuple 231"} +box.space.vinyl:insert{231, 'tuple 231'} - - [231, 'tuple 231'] -box.space.vinyl:insert{232, "tuple 232"} +box.space.vinyl:insert{232, 'tuple 232'} - - [232, 'tuple 232'] -box.space.vinyl:insert{233, "tuple 233"} +box.space.vinyl:insert{233, 'tuple 233'} - - [233, 'tuple 233'] -box.space.vinyl:insert{234, "tuple 234"} +box.space.vinyl:insert{234, 'tuple 234'} - - [234, 'tuple 234'] box.space.memtx:select{230} @@ -2992,34 +2992,34 @@ box.space.vinyl:select{233} box.space.vinyl:select{234} - - [234, 'tuple 234'] -box.space.memtx:insert{235, "tuple 235"} +box.space.memtx:insert{235, 'tuple 235'} - - [235, 'tuple 235'] -box.space.memtx:insert{236, "tuple 236"} +box.space.memtx:insert{236, 'tuple 236'} - - [236, 'tuple 236'] -box.space.memtx:insert{237, "tuple 237"} +box.space.memtx:insert{237, 'tuple 237'} - - [237, 'tuple 237'] -box.space.memtx:insert{238, "tuple 238"} +box.space.memtx:insert{238, 'tuple 238'} - - [238, 'tuple 238'] -box.space.memtx:insert{239, "tuple 239"} +box.space.memtx:insert{239, 'tuple 239'} - - [239, 'tuple 239'] -box.space.vinyl:insert{235, "tuple 235"} +box.space.vinyl:insert{235, 'tuple 235'} - - [235, 'tuple 235'] -box.space.vinyl:insert{236, "tuple 236"} +box.space.vinyl:insert{236, 'tuple 236'} - - [236, 'tuple 236'] -box.space.vinyl:insert{237, "tuple 237"} +box.space.vinyl:insert{237, 'tuple 237'} - - [237, 'tuple 237'] -box.space.vinyl:insert{238, "tuple 238"} +box.space.vinyl:insert{238, 'tuple 238'} - - [238, 'tuple 238'] -box.space.vinyl:insert{239, "tuple 239"} +box.space.vinyl:insert{239, 'tuple 239'} - - [239, 'tuple 239'] box.space.memtx:select{235} @@ -3059,34 +3059,34 @@ box.cfg{replication=''} ... switch replica to replica test 12 iteration -box.space.memtx:insert{240, "tuple 240"} +box.space.memtx:insert{240, 'tuple 240'} - - [240, 'tuple 240'] -box.space.memtx:insert{241, "tuple 241"} +box.space.memtx:insert{241, 'tuple 241'} - - [241, 'tuple 241'] -box.space.memtx:insert{242, "tuple 242"} +box.space.memtx:insert{242, 'tuple 242'} - - [242, 'tuple 242'] -box.space.memtx:insert{243, "tuple 243"} +box.space.memtx:insert{243, 'tuple 243'} - - [243, 'tuple 243'] -box.space.memtx:insert{244, "tuple 244"} +box.space.memtx:insert{244, 'tuple 244'} - - [244, 'tuple 244'] -box.space.vinyl:insert{240, "tuple 240"} +box.space.vinyl:insert{240, 'tuple 240'} - - [240, 'tuple 240'] -box.space.vinyl:insert{241, "tuple 241"} +box.space.vinyl:insert{241, 'tuple 241'} - - [241, 'tuple 241'] -box.space.vinyl:insert{242, "tuple 242"} +box.space.vinyl:insert{242, 'tuple 242'} - - [242, 'tuple 242'] -box.space.vinyl:insert{243, "tuple 243"} +box.space.vinyl:insert{243, 'tuple 243'} - - [243, 'tuple 243'] -box.space.vinyl:insert{244, "tuple 244"} +box.space.vinyl:insert{244, 'tuple 244'} - - [244, 'tuple 244'] box.space.memtx:select{240} @@ -3119,34 +3119,34 @@ box.space.vinyl:select{243} box.space.vinyl:select{244} - - [244, 'tuple 244'] -box.space.memtx:insert{245, "tuple 245"} +box.space.memtx:insert{245, 'tuple 245'} - - [245, 'tuple 245'] -box.space.memtx:insert{246, "tuple 246"} +box.space.memtx:insert{246, 'tuple 246'} - - [246, 'tuple 246'] -box.space.memtx:insert{247, "tuple 247"} +box.space.memtx:insert{247, 'tuple 247'} - - [247, 'tuple 247'] -box.space.memtx:insert{248, "tuple 248"} +box.space.memtx:insert{248, 'tuple 248'} - - [248, 'tuple 248'] -box.space.memtx:insert{249, "tuple 249"} +box.space.memtx:insert{249, 'tuple 249'} - - [249, 'tuple 249'] -box.space.vinyl:insert{245, "tuple 245"} +box.space.vinyl:insert{245, 'tuple 245'} - - [245, 'tuple 245'] -box.space.vinyl:insert{246, "tuple 246"} +box.space.vinyl:insert{246, 'tuple 246'} - - [246, 'tuple 246'] -box.space.vinyl:insert{247, "tuple 247"} +box.space.vinyl:insert{247, 'tuple 247'} - - [247, 'tuple 247'] -box.space.vinyl:insert{248, "tuple 248"} +box.space.vinyl:insert{248, 'tuple 248'} - - [248, 'tuple 248'] -box.space.vinyl:insert{249, "tuple 249"} +box.space.vinyl:insert{249, 'tuple 249'} - - [249, 'tuple 249'] box.space.memtx:select{245} @@ -3185,34 +3185,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{250, "tuple 250"} +box.space.memtx:insert{250, 'tuple 250'} - - [250, 'tuple 250'] -box.space.memtx:insert{251, "tuple 251"} +box.space.memtx:insert{251, 'tuple 251'} - - [251, 'tuple 251'] -box.space.memtx:insert{252, "tuple 252"} +box.space.memtx:insert{252, 'tuple 252'} - - [252, 'tuple 252'] -box.space.memtx:insert{253, "tuple 253"} +box.space.memtx:insert{253, 'tuple 253'} - - [253, 'tuple 253'] -box.space.memtx:insert{254, "tuple 254"} +box.space.memtx:insert{254, 'tuple 254'} - - [254, 'tuple 254'] -box.space.vinyl:insert{250, "tuple 250"} +box.space.vinyl:insert{250, 'tuple 250'} - - [250, 'tuple 250'] -box.space.vinyl:insert{251, "tuple 251"} +box.space.vinyl:insert{251, 'tuple 251'} - - [251, 'tuple 251'] -box.space.vinyl:insert{252, "tuple 252"} +box.space.vinyl:insert{252, 'tuple 252'} - - [252, 'tuple 252'] -box.space.vinyl:insert{253, "tuple 253"} +box.space.vinyl:insert{253, 'tuple 253'} - - [253, 'tuple 253'] -box.space.vinyl:insert{254, "tuple 254"} +box.space.vinyl:insert{254, 'tuple 254'} - - [254, 'tuple 254'] box.space.memtx:select{250} @@ -3245,34 +3245,34 @@ box.space.vinyl:select{253} box.space.vinyl:select{254} - - [254, 'tuple 254'] -box.space.memtx:insert{255, "tuple 255"} +box.space.memtx:insert{255, 'tuple 255'} - - [255, 'tuple 255'] -box.space.memtx:insert{256, "tuple 256"} +box.space.memtx:insert{256, 'tuple 256'} - - [256, 'tuple 256'] -box.space.memtx:insert{257, "tuple 257"} +box.space.memtx:insert{257, 'tuple 257'} - - [257, 'tuple 257'] -box.space.memtx:insert{258, "tuple 258"} +box.space.memtx:insert{258, 'tuple 258'} - - [258, 'tuple 258'] -box.space.memtx:insert{259, "tuple 259"} +box.space.memtx:insert{259, 'tuple 259'} - - [259, 'tuple 259'] -box.space.vinyl:insert{255, "tuple 255"} +box.space.vinyl:insert{255, 'tuple 255'} - - [255, 'tuple 255'] -box.space.vinyl:insert{256, "tuple 256"} +box.space.vinyl:insert{256, 'tuple 256'} - - [256, 'tuple 256'] -box.space.vinyl:insert{257, "tuple 257"} +box.space.vinyl:insert{257, 'tuple 257'} - - [257, 'tuple 257'] -box.space.vinyl:insert{258, "tuple 258"} +box.space.vinyl:insert{258, 'tuple 258'} - - [258, 'tuple 258'] -box.space.vinyl:insert{259, "tuple 259"} +box.space.vinyl:insert{259, 'tuple 259'} - - [259, 'tuple 259'] box.space.memtx:select{255} @@ -3312,34 +3312,34 @@ box.cfg{replication=''} ... switch replica to replica test 13 iteration -box.space.memtx:insert{260, "tuple 260"} +box.space.memtx:insert{260, 'tuple 260'} - - [260, 'tuple 260'] -box.space.memtx:insert{261, "tuple 261"} +box.space.memtx:insert{261, 'tuple 261'} - - [261, 'tuple 261'] -box.space.memtx:insert{262, "tuple 262"} +box.space.memtx:insert{262, 'tuple 262'} - - [262, 'tuple 262'] -box.space.memtx:insert{263, "tuple 263"} +box.space.memtx:insert{263, 'tuple 263'} - - [263, 'tuple 263'] -box.space.memtx:insert{264, "tuple 264"} +box.space.memtx:insert{264, 'tuple 264'} - - [264, 'tuple 264'] -box.space.vinyl:insert{260, "tuple 260"} +box.space.vinyl:insert{260, 'tuple 260'} - - [260, 'tuple 260'] -box.space.vinyl:insert{261, "tuple 261"} +box.space.vinyl:insert{261, 'tuple 261'} - - [261, 'tuple 261'] -box.space.vinyl:insert{262, "tuple 262"} +box.space.vinyl:insert{262, 'tuple 262'} - - [262, 'tuple 262'] -box.space.vinyl:insert{263, "tuple 263"} +box.space.vinyl:insert{263, 'tuple 263'} - - [263, 'tuple 263'] -box.space.vinyl:insert{264, "tuple 264"} +box.space.vinyl:insert{264, 'tuple 264'} - - [264, 'tuple 264'] box.space.memtx:select{260} @@ -3372,34 +3372,34 @@ box.space.vinyl:select{263} box.space.vinyl:select{264} - - [264, 'tuple 264'] -box.space.memtx:insert{265, "tuple 265"} +box.space.memtx:insert{265, 'tuple 265'} - - [265, 'tuple 265'] -box.space.memtx:insert{266, "tuple 266"} +box.space.memtx:insert{266, 'tuple 266'} - - [266, 'tuple 266'] -box.space.memtx:insert{267, "tuple 267"} +box.space.memtx:insert{267, 'tuple 267'} - - [267, 'tuple 267'] -box.space.memtx:insert{268, "tuple 268"} +box.space.memtx:insert{268, 'tuple 268'} - - [268, 'tuple 268'] -box.space.memtx:insert{269, "tuple 269"} +box.space.memtx:insert{269, 'tuple 269'} - - [269, 'tuple 269'] -box.space.vinyl:insert{265, "tuple 265"} +box.space.vinyl:insert{265, 'tuple 265'} - - [265, 'tuple 265'] -box.space.vinyl:insert{266, "tuple 266"} +box.space.vinyl:insert{266, 'tuple 266'} - - [266, 'tuple 266'] -box.space.vinyl:insert{267, "tuple 267"} +box.space.vinyl:insert{267, 'tuple 267'} - - [267, 'tuple 267'] -box.space.vinyl:insert{268, "tuple 268"} +box.space.vinyl:insert{268, 'tuple 268'} - - [268, 'tuple 268'] -box.space.vinyl:insert{269, "tuple 269"} +box.space.vinyl:insert{269, 'tuple 269'} - - [269, 'tuple 269'] box.space.memtx:select{265} @@ -3438,34 +3438,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{270, "tuple 270"} +box.space.memtx:insert{270, 'tuple 270'} - - [270, 'tuple 270'] -box.space.memtx:insert{271, "tuple 271"} +box.space.memtx:insert{271, 'tuple 271'} - - [271, 'tuple 271'] -box.space.memtx:insert{272, "tuple 272"} +box.space.memtx:insert{272, 'tuple 272'} - - [272, 'tuple 272'] -box.space.memtx:insert{273, "tuple 273"} +box.space.memtx:insert{273, 'tuple 273'} - - [273, 'tuple 273'] -box.space.memtx:insert{274, "tuple 274"} +box.space.memtx:insert{274, 'tuple 274'} - - [274, 'tuple 274'] -box.space.vinyl:insert{270, "tuple 270"} +box.space.vinyl:insert{270, 'tuple 270'} - - [270, 'tuple 270'] -box.space.vinyl:insert{271, "tuple 271"} +box.space.vinyl:insert{271, 'tuple 271'} - - [271, 'tuple 271'] -box.space.vinyl:insert{272, "tuple 272"} +box.space.vinyl:insert{272, 'tuple 272'} - - [272, 'tuple 272'] -box.space.vinyl:insert{273, "tuple 273"} +box.space.vinyl:insert{273, 'tuple 273'} - - [273, 'tuple 273'] -box.space.vinyl:insert{274, "tuple 274"} +box.space.vinyl:insert{274, 'tuple 274'} - - [274, 'tuple 274'] box.space.memtx:select{270} @@ -3498,34 +3498,34 @@ box.space.vinyl:select{273} box.space.vinyl:select{274} - - [274, 'tuple 274'] -box.space.memtx:insert{275, "tuple 275"} +box.space.memtx:insert{275, 'tuple 275'} - - [275, 'tuple 275'] -box.space.memtx:insert{276, "tuple 276"} +box.space.memtx:insert{276, 'tuple 276'} - - [276, 'tuple 276'] -box.space.memtx:insert{277, "tuple 277"} +box.space.memtx:insert{277, 'tuple 277'} - - [277, 'tuple 277'] -box.space.memtx:insert{278, "tuple 278"} +box.space.memtx:insert{278, 'tuple 278'} - - [278, 'tuple 278'] -box.space.memtx:insert{279, "tuple 279"} +box.space.memtx:insert{279, 'tuple 279'} - - [279, 'tuple 279'] -box.space.vinyl:insert{275, "tuple 275"} +box.space.vinyl:insert{275, 'tuple 275'} - - [275, 'tuple 275'] -box.space.vinyl:insert{276, "tuple 276"} +box.space.vinyl:insert{276, 'tuple 276'} - - [276, 'tuple 276'] -box.space.vinyl:insert{277, "tuple 277"} +box.space.vinyl:insert{277, 'tuple 277'} - - [277, 'tuple 277'] -box.space.vinyl:insert{278, "tuple 278"} +box.space.vinyl:insert{278, 'tuple 278'} - - [278, 'tuple 278'] -box.space.vinyl:insert{279, "tuple 279"} +box.space.vinyl:insert{279, 'tuple 279'} - - [279, 'tuple 279'] box.space.memtx:select{275} @@ -3565,34 +3565,34 @@ box.cfg{replication=''} ... switch replica to replica test 14 iteration -box.space.memtx:insert{280, "tuple 280"} +box.space.memtx:insert{280, 'tuple 280'} - - [280, 'tuple 280'] -box.space.memtx:insert{281, "tuple 281"} +box.space.memtx:insert{281, 'tuple 281'} - - [281, 'tuple 281'] -box.space.memtx:insert{282, "tuple 282"} +box.space.memtx:insert{282, 'tuple 282'} - - [282, 'tuple 282'] -box.space.memtx:insert{283, "tuple 283"} +box.space.memtx:insert{283, 'tuple 283'} - - [283, 'tuple 283'] -box.space.memtx:insert{284, "tuple 284"} +box.space.memtx:insert{284, 'tuple 284'} - - [284, 'tuple 284'] -box.space.vinyl:insert{280, "tuple 280"} +box.space.vinyl:insert{280, 'tuple 280'} - - [280, 'tuple 280'] -box.space.vinyl:insert{281, "tuple 281"} +box.space.vinyl:insert{281, 'tuple 281'} - - [281, 'tuple 281'] -box.space.vinyl:insert{282, "tuple 282"} +box.space.vinyl:insert{282, 'tuple 282'} - - [282, 'tuple 282'] -box.space.vinyl:insert{283, "tuple 283"} +box.space.vinyl:insert{283, 'tuple 283'} - - [283, 'tuple 283'] -box.space.vinyl:insert{284, "tuple 284"} +box.space.vinyl:insert{284, 'tuple 284'} - - [284, 'tuple 284'] box.space.memtx:select{280} @@ -3625,34 +3625,34 @@ box.space.vinyl:select{283} box.space.vinyl:select{284} - - [284, 'tuple 284'] -box.space.memtx:insert{285, "tuple 285"} +box.space.memtx:insert{285, 'tuple 285'} - - [285, 'tuple 285'] -box.space.memtx:insert{286, "tuple 286"} +box.space.memtx:insert{286, 'tuple 286'} - - [286, 'tuple 286'] -box.space.memtx:insert{287, "tuple 287"} +box.space.memtx:insert{287, 'tuple 287'} - - [287, 'tuple 287'] -box.space.memtx:insert{288, "tuple 288"} +box.space.memtx:insert{288, 'tuple 288'} - - [288, 'tuple 288'] -box.space.memtx:insert{289, "tuple 289"} +box.space.memtx:insert{289, 'tuple 289'} - - [289, 'tuple 289'] -box.space.vinyl:insert{285, "tuple 285"} +box.space.vinyl:insert{285, 'tuple 285'} - - [285, 'tuple 285'] -box.space.vinyl:insert{286, "tuple 286"} +box.space.vinyl:insert{286, 'tuple 286'} - - [286, 'tuple 286'] -box.space.vinyl:insert{287, "tuple 287"} +box.space.vinyl:insert{287, 'tuple 287'} - - [287, 'tuple 287'] -box.space.vinyl:insert{288, "tuple 288"} +box.space.vinyl:insert{288, 'tuple 288'} - - [288, 'tuple 288'] -box.space.vinyl:insert{289, "tuple 289"} +box.space.vinyl:insert{289, 'tuple 289'} - - [289, 'tuple 289'] box.space.memtx:select{285} @@ -3691,34 +3691,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{290, "tuple 290"} +box.space.memtx:insert{290, 'tuple 290'} - - [290, 'tuple 290'] -box.space.memtx:insert{291, "tuple 291"} +box.space.memtx:insert{291, 'tuple 291'} - - [291, 'tuple 291'] -box.space.memtx:insert{292, "tuple 292"} +box.space.memtx:insert{292, 'tuple 292'} - - [292, 'tuple 292'] -box.space.memtx:insert{293, "tuple 293"} +box.space.memtx:insert{293, 'tuple 293'} - - [293, 'tuple 293'] -box.space.memtx:insert{294, "tuple 294"} +box.space.memtx:insert{294, 'tuple 294'} - - [294, 'tuple 294'] -box.space.vinyl:insert{290, "tuple 290"} +box.space.vinyl:insert{290, 'tuple 290'} - - [290, 'tuple 290'] -box.space.vinyl:insert{291, "tuple 291"} +box.space.vinyl:insert{291, 'tuple 291'} - - [291, 'tuple 291'] -box.space.vinyl:insert{292, "tuple 292"} +box.space.vinyl:insert{292, 'tuple 292'} - - [292, 'tuple 292'] -box.space.vinyl:insert{293, "tuple 293"} +box.space.vinyl:insert{293, 'tuple 293'} - - [293, 'tuple 293'] -box.space.vinyl:insert{294, "tuple 294"} +box.space.vinyl:insert{294, 'tuple 294'} - - [294, 'tuple 294'] box.space.memtx:select{290} @@ -3751,34 +3751,34 @@ box.space.vinyl:select{293} box.space.vinyl:select{294} - - [294, 'tuple 294'] -box.space.memtx:insert{295, "tuple 295"} +box.space.memtx:insert{295, 'tuple 295'} - - [295, 'tuple 295'] -box.space.memtx:insert{296, "tuple 296"} +box.space.memtx:insert{296, 'tuple 296'} - - [296, 'tuple 296'] -box.space.memtx:insert{297, "tuple 297"} +box.space.memtx:insert{297, 'tuple 297'} - - [297, 'tuple 297'] -box.space.memtx:insert{298, "tuple 298"} +box.space.memtx:insert{298, 'tuple 298'} - - [298, 'tuple 298'] -box.space.memtx:insert{299, "tuple 299"} +box.space.memtx:insert{299, 'tuple 299'} - - [299, 'tuple 299'] -box.space.vinyl:insert{295, "tuple 295"} +box.space.vinyl:insert{295, 'tuple 295'} - - [295, 'tuple 295'] -box.space.vinyl:insert{296, "tuple 296"} +box.space.vinyl:insert{296, 'tuple 296'} - - [296, 'tuple 296'] -box.space.vinyl:insert{297, "tuple 297"} +box.space.vinyl:insert{297, 'tuple 297'} - - [297, 'tuple 297'] -box.space.vinyl:insert{298, "tuple 298"} +box.space.vinyl:insert{298, 'tuple 298'} - - [298, 'tuple 298'] -box.space.vinyl:insert{299, "tuple 299"} +box.space.vinyl:insert{299, 'tuple 299'} - - [299, 'tuple 299'] box.space.memtx:select{295} @@ -3818,34 +3818,34 @@ box.cfg{replication=''} ... switch replica to replica test 15 iteration -box.space.memtx:insert{300, "tuple 300"} +box.space.memtx:insert{300, 'tuple 300'} - - [300, 'tuple 300'] -box.space.memtx:insert{301, "tuple 301"} +box.space.memtx:insert{301, 'tuple 301'} - - [301, 'tuple 301'] -box.space.memtx:insert{302, "tuple 302"} +box.space.memtx:insert{302, 'tuple 302'} - - [302, 'tuple 302'] -box.space.memtx:insert{303, "tuple 303"} +box.space.memtx:insert{303, 'tuple 303'} - - [303, 'tuple 303'] -box.space.memtx:insert{304, "tuple 304"} +box.space.memtx:insert{304, 'tuple 304'} - - [304, 'tuple 304'] -box.space.vinyl:insert{300, "tuple 300"} +box.space.vinyl:insert{300, 'tuple 300'} - - [300, 'tuple 300'] -box.space.vinyl:insert{301, "tuple 301"} +box.space.vinyl:insert{301, 'tuple 301'} - - [301, 'tuple 301'] -box.space.vinyl:insert{302, "tuple 302"} +box.space.vinyl:insert{302, 'tuple 302'} - - [302, 'tuple 302'] -box.space.vinyl:insert{303, "tuple 303"} +box.space.vinyl:insert{303, 'tuple 303'} - - [303, 'tuple 303'] -box.space.vinyl:insert{304, "tuple 304"} +box.space.vinyl:insert{304, 'tuple 304'} - - [304, 'tuple 304'] box.space.memtx:select{300} @@ -3878,34 +3878,34 @@ box.space.vinyl:select{303} box.space.vinyl:select{304} - - [304, 'tuple 304'] -box.space.memtx:insert{305, "tuple 305"} +box.space.memtx:insert{305, 'tuple 305'} - - [305, 'tuple 305'] -box.space.memtx:insert{306, "tuple 306"} +box.space.memtx:insert{306, 'tuple 306'} - - [306, 'tuple 306'] -box.space.memtx:insert{307, "tuple 307"} +box.space.memtx:insert{307, 'tuple 307'} - - [307, 'tuple 307'] -box.space.memtx:insert{308, "tuple 308"} +box.space.memtx:insert{308, 'tuple 308'} - - [308, 'tuple 308'] -box.space.memtx:insert{309, "tuple 309"} +box.space.memtx:insert{309, 'tuple 309'} - - [309, 'tuple 309'] -box.space.vinyl:insert{305, "tuple 305"} +box.space.vinyl:insert{305, 'tuple 305'} - - [305, 'tuple 305'] -box.space.vinyl:insert{306, "tuple 306"} +box.space.vinyl:insert{306, 'tuple 306'} - - [306, 'tuple 306'] -box.space.vinyl:insert{307, "tuple 307"} +box.space.vinyl:insert{307, 'tuple 307'} - - [307, 'tuple 307'] -box.space.vinyl:insert{308, "tuple 308"} +box.space.vinyl:insert{308, 'tuple 308'} - - [308, 'tuple 308'] -box.space.vinyl:insert{309, "tuple 309"} +box.space.vinyl:insert{309, 'tuple 309'} - - [309, 'tuple 309'] box.space.memtx:select{305} @@ -3944,34 +3944,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{310, "tuple 310"} +box.space.memtx:insert{310, 'tuple 310'} - - [310, 'tuple 310'] -box.space.memtx:insert{311, "tuple 311"} +box.space.memtx:insert{311, 'tuple 311'} - - [311, 'tuple 311'] -box.space.memtx:insert{312, "tuple 312"} +box.space.memtx:insert{312, 'tuple 312'} - - [312, 'tuple 312'] -box.space.memtx:insert{313, "tuple 313"} +box.space.memtx:insert{313, 'tuple 313'} - - [313, 'tuple 313'] -box.space.memtx:insert{314, "tuple 314"} +box.space.memtx:insert{314, 'tuple 314'} - - [314, 'tuple 314'] -box.space.vinyl:insert{310, "tuple 310"} +box.space.vinyl:insert{310, 'tuple 310'} - - [310, 'tuple 310'] -box.space.vinyl:insert{311, "tuple 311"} +box.space.vinyl:insert{311, 'tuple 311'} - - [311, 'tuple 311'] -box.space.vinyl:insert{312, "tuple 312"} +box.space.vinyl:insert{312, 'tuple 312'} - - [312, 'tuple 312'] -box.space.vinyl:insert{313, "tuple 313"} +box.space.vinyl:insert{313, 'tuple 313'} - - [313, 'tuple 313'] -box.space.vinyl:insert{314, "tuple 314"} +box.space.vinyl:insert{314, 'tuple 314'} - - [314, 'tuple 314'] box.space.memtx:select{310} @@ -4004,34 +4004,34 @@ box.space.vinyl:select{313} box.space.vinyl:select{314} - - [314, 'tuple 314'] -box.space.memtx:insert{315, "tuple 315"} +box.space.memtx:insert{315, 'tuple 315'} - - [315, 'tuple 315'] -box.space.memtx:insert{316, "tuple 316"} +box.space.memtx:insert{316, 'tuple 316'} - - [316, 'tuple 316'] -box.space.memtx:insert{317, "tuple 317"} +box.space.memtx:insert{317, 'tuple 317'} - - [317, 'tuple 317'] -box.space.memtx:insert{318, "tuple 318"} +box.space.memtx:insert{318, 'tuple 318'} - - [318, 'tuple 318'] -box.space.memtx:insert{319, "tuple 319"} +box.space.memtx:insert{319, 'tuple 319'} - - [319, 'tuple 319'] -box.space.vinyl:insert{315, "tuple 315"} +box.space.vinyl:insert{315, 'tuple 315'} - - [315, 'tuple 315'] -box.space.vinyl:insert{316, "tuple 316"} +box.space.vinyl:insert{316, 'tuple 316'} - - [316, 'tuple 316'] -box.space.vinyl:insert{317, "tuple 317"} +box.space.vinyl:insert{317, 'tuple 317'} - - [317, 'tuple 317'] -box.space.vinyl:insert{318, "tuple 318"} +box.space.vinyl:insert{318, 'tuple 318'} - - [318, 'tuple 318'] -box.space.vinyl:insert{319, "tuple 319"} +box.space.vinyl:insert{319, 'tuple 319'} - - [319, 'tuple 319'] box.space.memtx:select{315} @@ -4071,34 +4071,34 @@ box.cfg{replication=''} ... switch replica to replica test 16 iteration -box.space.memtx:insert{320, "tuple 320"} +box.space.memtx:insert{320, 'tuple 320'} - - [320, 'tuple 320'] -box.space.memtx:insert{321, "tuple 321"} +box.space.memtx:insert{321, 'tuple 321'} - - [321, 'tuple 321'] -box.space.memtx:insert{322, "tuple 322"} +box.space.memtx:insert{322, 'tuple 322'} - - [322, 'tuple 322'] -box.space.memtx:insert{323, "tuple 323"} +box.space.memtx:insert{323, 'tuple 323'} - - [323, 'tuple 323'] -box.space.memtx:insert{324, "tuple 324"} +box.space.memtx:insert{324, 'tuple 324'} - - [324, 'tuple 324'] -box.space.vinyl:insert{320, "tuple 320"} +box.space.vinyl:insert{320, 'tuple 320'} - - [320, 'tuple 320'] -box.space.vinyl:insert{321, "tuple 321"} +box.space.vinyl:insert{321, 'tuple 321'} - - [321, 'tuple 321'] -box.space.vinyl:insert{322, "tuple 322"} +box.space.vinyl:insert{322, 'tuple 322'} - - [322, 'tuple 322'] -box.space.vinyl:insert{323, "tuple 323"} +box.space.vinyl:insert{323, 'tuple 323'} - - [323, 'tuple 323'] -box.space.vinyl:insert{324, "tuple 324"} +box.space.vinyl:insert{324, 'tuple 324'} - - [324, 'tuple 324'] box.space.memtx:select{320} @@ -4131,34 +4131,34 @@ box.space.vinyl:select{323} box.space.vinyl:select{324} - - [324, 'tuple 324'] -box.space.memtx:insert{325, "tuple 325"} +box.space.memtx:insert{325, 'tuple 325'} - - [325, 'tuple 325'] -box.space.memtx:insert{326, "tuple 326"} +box.space.memtx:insert{326, 'tuple 326'} - - [326, 'tuple 326'] -box.space.memtx:insert{327, "tuple 327"} +box.space.memtx:insert{327, 'tuple 327'} - - [327, 'tuple 327'] -box.space.memtx:insert{328, "tuple 328"} +box.space.memtx:insert{328, 'tuple 328'} - - [328, 'tuple 328'] -box.space.memtx:insert{329, "tuple 329"} +box.space.memtx:insert{329, 'tuple 329'} - - [329, 'tuple 329'] -box.space.vinyl:insert{325, "tuple 325"} +box.space.vinyl:insert{325, 'tuple 325'} - - [325, 'tuple 325'] -box.space.vinyl:insert{326, "tuple 326"} +box.space.vinyl:insert{326, 'tuple 326'} - - [326, 'tuple 326'] -box.space.vinyl:insert{327, "tuple 327"} +box.space.vinyl:insert{327, 'tuple 327'} - - [327, 'tuple 327'] -box.space.vinyl:insert{328, "tuple 328"} +box.space.vinyl:insert{328, 'tuple 328'} - - [328, 'tuple 328'] -box.space.vinyl:insert{329, "tuple 329"} +box.space.vinyl:insert{329, 'tuple 329'} - - [329, 'tuple 329'] box.space.memtx:select{325} @@ -4197,34 +4197,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{330, "tuple 330"} +box.space.memtx:insert{330, 'tuple 330'} - - [330, 'tuple 330'] -box.space.memtx:insert{331, "tuple 331"} +box.space.memtx:insert{331, 'tuple 331'} - - [331, 'tuple 331'] -box.space.memtx:insert{332, "tuple 332"} +box.space.memtx:insert{332, 'tuple 332'} - - [332, 'tuple 332'] -box.space.memtx:insert{333, "tuple 333"} +box.space.memtx:insert{333, 'tuple 333'} - - [333, 'tuple 333'] -box.space.memtx:insert{334, "tuple 334"} +box.space.memtx:insert{334, 'tuple 334'} - - [334, 'tuple 334'] -box.space.vinyl:insert{330, "tuple 330"} +box.space.vinyl:insert{330, 'tuple 330'} - - [330, 'tuple 330'] -box.space.vinyl:insert{331, "tuple 331"} +box.space.vinyl:insert{331, 'tuple 331'} - - [331, 'tuple 331'] -box.space.vinyl:insert{332, "tuple 332"} +box.space.vinyl:insert{332, 'tuple 332'} - - [332, 'tuple 332'] -box.space.vinyl:insert{333, "tuple 333"} +box.space.vinyl:insert{333, 'tuple 333'} - - [333, 'tuple 333'] -box.space.vinyl:insert{334, "tuple 334"} +box.space.vinyl:insert{334, 'tuple 334'} - - [334, 'tuple 334'] box.space.memtx:select{330} @@ -4257,34 +4257,34 @@ box.space.vinyl:select{333} box.space.vinyl:select{334} - - [334, 'tuple 334'] -box.space.memtx:insert{335, "tuple 335"} +box.space.memtx:insert{335, 'tuple 335'} - - [335, 'tuple 335'] -box.space.memtx:insert{336, "tuple 336"} +box.space.memtx:insert{336, 'tuple 336'} - - [336, 'tuple 336'] -box.space.memtx:insert{337, "tuple 337"} +box.space.memtx:insert{337, 'tuple 337'} - - [337, 'tuple 337'] -box.space.memtx:insert{338, "tuple 338"} +box.space.memtx:insert{338, 'tuple 338'} - - [338, 'tuple 338'] -box.space.memtx:insert{339, "tuple 339"} +box.space.memtx:insert{339, 'tuple 339'} - - [339, 'tuple 339'] -box.space.vinyl:insert{335, "tuple 335"} +box.space.vinyl:insert{335, 'tuple 335'} - - [335, 'tuple 335'] -box.space.vinyl:insert{336, "tuple 336"} +box.space.vinyl:insert{336, 'tuple 336'} - - [336, 'tuple 336'] -box.space.vinyl:insert{337, "tuple 337"} +box.space.vinyl:insert{337, 'tuple 337'} - - [337, 'tuple 337'] -box.space.vinyl:insert{338, "tuple 338"} +box.space.vinyl:insert{338, 'tuple 338'} - - [338, 'tuple 338'] -box.space.vinyl:insert{339, "tuple 339"} +box.space.vinyl:insert{339, 'tuple 339'} - - [339, 'tuple 339'] box.space.memtx:select{335} @@ -4324,34 +4324,34 @@ box.cfg{replication=''} ... switch replica to replica test 17 iteration -box.space.memtx:insert{340, "tuple 340"} +box.space.memtx:insert{340, 'tuple 340'} - - [340, 'tuple 340'] -box.space.memtx:insert{341, "tuple 341"} +box.space.memtx:insert{341, 'tuple 341'} - - [341, 'tuple 341'] -box.space.memtx:insert{342, "tuple 342"} +box.space.memtx:insert{342, 'tuple 342'} - - [342, 'tuple 342'] -box.space.memtx:insert{343, "tuple 343"} +box.space.memtx:insert{343, 'tuple 343'} - - [343, 'tuple 343'] -box.space.memtx:insert{344, "tuple 344"} +box.space.memtx:insert{344, 'tuple 344'} - - [344, 'tuple 344'] -box.space.vinyl:insert{340, "tuple 340"} +box.space.vinyl:insert{340, 'tuple 340'} - - [340, 'tuple 340'] -box.space.vinyl:insert{341, "tuple 341"} +box.space.vinyl:insert{341, 'tuple 341'} - - [341, 'tuple 341'] -box.space.vinyl:insert{342, "tuple 342"} +box.space.vinyl:insert{342, 'tuple 342'} - - [342, 'tuple 342'] -box.space.vinyl:insert{343, "tuple 343"} +box.space.vinyl:insert{343, 'tuple 343'} - - [343, 'tuple 343'] -box.space.vinyl:insert{344, "tuple 344"} +box.space.vinyl:insert{344, 'tuple 344'} - - [344, 'tuple 344'] box.space.memtx:select{340} @@ -4384,34 +4384,34 @@ box.space.vinyl:select{343} box.space.vinyl:select{344} - - [344, 'tuple 344'] -box.space.memtx:insert{345, "tuple 345"} +box.space.memtx:insert{345, 'tuple 345'} - - [345, 'tuple 345'] -box.space.memtx:insert{346, "tuple 346"} +box.space.memtx:insert{346, 'tuple 346'} - - [346, 'tuple 346'] -box.space.memtx:insert{347, "tuple 347"} +box.space.memtx:insert{347, 'tuple 347'} - - [347, 'tuple 347'] -box.space.memtx:insert{348, "tuple 348"} +box.space.memtx:insert{348, 'tuple 348'} - - [348, 'tuple 348'] -box.space.memtx:insert{349, "tuple 349"} +box.space.memtx:insert{349, 'tuple 349'} - - [349, 'tuple 349'] -box.space.vinyl:insert{345, "tuple 345"} +box.space.vinyl:insert{345, 'tuple 345'} - - [345, 'tuple 345'] -box.space.vinyl:insert{346, "tuple 346"} +box.space.vinyl:insert{346, 'tuple 346'} - - [346, 'tuple 346'] -box.space.vinyl:insert{347, "tuple 347"} +box.space.vinyl:insert{347, 'tuple 347'} - - [347, 'tuple 347'] -box.space.vinyl:insert{348, "tuple 348"} +box.space.vinyl:insert{348, 'tuple 348'} - - [348, 'tuple 348'] -box.space.vinyl:insert{349, "tuple 349"} +box.space.vinyl:insert{349, 'tuple 349'} - - [349, 'tuple 349'] box.space.memtx:select{345} @@ -4450,34 +4450,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{350, "tuple 350"} +box.space.memtx:insert{350, 'tuple 350'} - - [350, 'tuple 350'] -box.space.memtx:insert{351, "tuple 351"} +box.space.memtx:insert{351, 'tuple 351'} - - [351, 'tuple 351'] -box.space.memtx:insert{352, "tuple 352"} +box.space.memtx:insert{352, 'tuple 352'} - - [352, 'tuple 352'] -box.space.memtx:insert{353, "tuple 353"} +box.space.memtx:insert{353, 'tuple 353'} - - [353, 'tuple 353'] -box.space.memtx:insert{354, "tuple 354"} +box.space.memtx:insert{354, 'tuple 354'} - - [354, 'tuple 354'] -box.space.vinyl:insert{350, "tuple 350"} +box.space.vinyl:insert{350, 'tuple 350'} - - [350, 'tuple 350'] -box.space.vinyl:insert{351, "tuple 351"} +box.space.vinyl:insert{351, 'tuple 351'} - - [351, 'tuple 351'] -box.space.vinyl:insert{352, "tuple 352"} +box.space.vinyl:insert{352, 'tuple 352'} - - [352, 'tuple 352'] -box.space.vinyl:insert{353, "tuple 353"} +box.space.vinyl:insert{353, 'tuple 353'} - - [353, 'tuple 353'] -box.space.vinyl:insert{354, "tuple 354"} +box.space.vinyl:insert{354, 'tuple 354'} - - [354, 'tuple 354'] box.space.memtx:select{350} @@ -4510,34 +4510,34 @@ box.space.vinyl:select{353} box.space.vinyl:select{354} - - [354, 'tuple 354'] -box.space.memtx:insert{355, "tuple 355"} +box.space.memtx:insert{355, 'tuple 355'} - - [355, 'tuple 355'] -box.space.memtx:insert{356, "tuple 356"} +box.space.memtx:insert{356, 'tuple 356'} - - [356, 'tuple 356'] -box.space.memtx:insert{357, "tuple 357"} +box.space.memtx:insert{357, 'tuple 357'} - - [357, 'tuple 357'] -box.space.memtx:insert{358, "tuple 358"} +box.space.memtx:insert{358, 'tuple 358'} - - [358, 'tuple 358'] -box.space.memtx:insert{359, "tuple 359"} +box.space.memtx:insert{359, 'tuple 359'} - - [359, 'tuple 359'] -box.space.vinyl:insert{355, "tuple 355"} +box.space.vinyl:insert{355, 'tuple 355'} - - [355, 'tuple 355'] -box.space.vinyl:insert{356, "tuple 356"} +box.space.vinyl:insert{356, 'tuple 356'} - - [356, 'tuple 356'] -box.space.vinyl:insert{357, "tuple 357"} +box.space.vinyl:insert{357, 'tuple 357'} - - [357, 'tuple 357'] -box.space.vinyl:insert{358, "tuple 358"} +box.space.vinyl:insert{358, 'tuple 358'} - - [358, 'tuple 358'] -box.space.vinyl:insert{359, "tuple 359"} +box.space.vinyl:insert{359, 'tuple 359'} - - [359, 'tuple 359'] box.space.memtx:select{355} @@ -4577,34 +4577,34 @@ box.cfg{replication=''} ... switch replica to replica test 18 iteration -box.space.memtx:insert{360, "tuple 360"} +box.space.memtx:insert{360, 'tuple 360'} - - [360, 'tuple 360'] -box.space.memtx:insert{361, "tuple 361"} +box.space.memtx:insert{361, 'tuple 361'} - - [361, 'tuple 361'] -box.space.memtx:insert{362, "tuple 362"} +box.space.memtx:insert{362, 'tuple 362'} - - [362, 'tuple 362'] -box.space.memtx:insert{363, "tuple 363"} +box.space.memtx:insert{363, 'tuple 363'} - - [363, 'tuple 363'] -box.space.memtx:insert{364, "tuple 364"} +box.space.memtx:insert{364, 'tuple 364'} - - [364, 'tuple 364'] -box.space.vinyl:insert{360, "tuple 360"} +box.space.vinyl:insert{360, 'tuple 360'} - - [360, 'tuple 360'] -box.space.vinyl:insert{361, "tuple 361"} +box.space.vinyl:insert{361, 'tuple 361'} - - [361, 'tuple 361'] -box.space.vinyl:insert{362, "tuple 362"} +box.space.vinyl:insert{362, 'tuple 362'} - - [362, 'tuple 362'] -box.space.vinyl:insert{363, "tuple 363"} +box.space.vinyl:insert{363, 'tuple 363'} - - [363, 'tuple 363'] -box.space.vinyl:insert{364, "tuple 364"} +box.space.vinyl:insert{364, 'tuple 364'} - - [364, 'tuple 364'] box.space.memtx:select{360} @@ -4637,34 +4637,34 @@ box.space.vinyl:select{363} box.space.vinyl:select{364} - - [364, 'tuple 364'] -box.space.memtx:insert{365, "tuple 365"} +box.space.memtx:insert{365, 'tuple 365'} - - [365, 'tuple 365'] -box.space.memtx:insert{366, "tuple 366"} +box.space.memtx:insert{366, 'tuple 366'} - - [366, 'tuple 366'] -box.space.memtx:insert{367, "tuple 367"} +box.space.memtx:insert{367, 'tuple 367'} - - [367, 'tuple 367'] -box.space.memtx:insert{368, "tuple 368"} +box.space.memtx:insert{368, 'tuple 368'} - - [368, 'tuple 368'] -box.space.memtx:insert{369, "tuple 369"} +box.space.memtx:insert{369, 'tuple 369'} - - [369, 'tuple 369'] -box.space.vinyl:insert{365, "tuple 365"} +box.space.vinyl:insert{365, 'tuple 365'} - - [365, 'tuple 365'] -box.space.vinyl:insert{366, "tuple 366"} +box.space.vinyl:insert{366, 'tuple 366'} - - [366, 'tuple 366'] -box.space.vinyl:insert{367, "tuple 367"} +box.space.vinyl:insert{367, 'tuple 367'} - - [367, 'tuple 367'] -box.space.vinyl:insert{368, "tuple 368"} +box.space.vinyl:insert{368, 'tuple 368'} - - [368, 'tuple 368'] -box.space.vinyl:insert{369, "tuple 369"} +box.space.vinyl:insert{369, 'tuple 369'} - - [369, 'tuple 369'] box.space.memtx:select{365} @@ -4703,34 +4703,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{370, "tuple 370"} +box.space.memtx:insert{370, 'tuple 370'} - - [370, 'tuple 370'] -box.space.memtx:insert{371, "tuple 371"} +box.space.memtx:insert{371, 'tuple 371'} - - [371, 'tuple 371'] -box.space.memtx:insert{372, "tuple 372"} +box.space.memtx:insert{372, 'tuple 372'} - - [372, 'tuple 372'] -box.space.memtx:insert{373, "tuple 373"} +box.space.memtx:insert{373, 'tuple 373'} - - [373, 'tuple 373'] -box.space.memtx:insert{374, "tuple 374"} +box.space.memtx:insert{374, 'tuple 374'} - - [374, 'tuple 374'] -box.space.vinyl:insert{370, "tuple 370"} +box.space.vinyl:insert{370, 'tuple 370'} - - [370, 'tuple 370'] -box.space.vinyl:insert{371, "tuple 371"} +box.space.vinyl:insert{371, 'tuple 371'} - - [371, 'tuple 371'] -box.space.vinyl:insert{372, "tuple 372"} +box.space.vinyl:insert{372, 'tuple 372'} - - [372, 'tuple 372'] -box.space.vinyl:insert{373, "tuple 373"} +box.space.vinyl:insert{373, 'tuple 373'} - - [373, 'tuple 373'] -box.space.vinyl:insert{374, "tuple 374"} +box.space.vinyl:insert{374, 'tuple 374'} - - [374, 'tuple 374'] box.space.memtx:select{370} @@ -4763,34 +4763,34 @@ box.space.vinyl:select{373} box.space.vinyl:select{374} - - [374, 'tuple 374'] -box.space.memtx:insert{375, "tuple 375"} +box.space.memtx:insert{375, 'tuple 375'} - - [375, 'tuple 375'] -box.space.memtx:insert{376, "tuple 376"} +box.space.memtx:insert{376, 'tuple 376'} - - [376, 'tuple 376'] -box.space.memtx:insert{377, "tuple 377"} +box.space.memtx:insert{377, 'tuple 377'} - - [377, 'tuple 377'] -box.space.memtx:insert{378, "tuple 378"} +box.space.memtx:insert{378, 'tuple 378'} - - [378, 'tuple 378'] -box.space.memtx:insert{379, "tuple 379"} +box.space.memtx:insert{379, 'tuple 379'} - - [379, 'tuple 379'] -box.space.vinyl:insert{375, "tuple 375"} +box.space.vinyl:insert{375, 'tuple 375'} - - [375, 'tuple 375'] -box.space.vinyl:insert{376, "tuple 376"} +box.space.vinyl:insert{376, 'tuple 376'} - - [376, 'tuple 376'] -box.space.vinyl:insert{377, "tuple 377"} +box.space.vinyl:insert{377, 'tuple 377'} - - [377, 'tuple 377'] -box.space.vinyl:insert{378, "tuple 378"} +box.space.vinyl:insert{378, 'tuple 378'} - - [378, 'tuple 378'] -box.space.vinyl:insert{379, "tuple 379"} +box.space.vinyl:insert{379, 'tuple 379'} - - [379, 'tuple 379'] box.space.memtx:select{375} @@ -4830,34 +4830,34 @@ box.cfg{replication=''} ... switch replica to replica test 19 iteration -box.space.memtx:insert{380, "tuple 380"} +box.space.memtx:insert{380, 'tuple 380'} - - [380, 'tuple 380'] -box.space.memtx:insert{381, "tuple 381"} +box.space.memtx:insert{381, 'tuple 381'} - - [381, 'tuple 381'] -box.space.memtx:insert{382, "tuple 382"} +box.space.memtx:insert{382, 'tuple 382'} - - [382, 'tuple 382'] -box.space.memtx:insert{383, "tuple 383"} +box.space.memtx:insert{383, 'tuple 383'} - - [383, 'tuple 383'] -box.space.memtx:insert{384, "tuple 384"} +box.space.memtx:insert{384, 'tuple 384'} - - [384, 'tuple 384'] -box.space.vinyl:insert{380, "tuple 380"} +box.space.vinyl:insert{380, 'tuple 380'} - - [380, 'tuple 380'] -box.space.vinyl:insert{381, "tuple 381"} +box.space.vinyl:insert{381, 'tuple 381'} - - [381, 'tuple 381'] -box.space.vinyl:insert{382, "tuple 382"} +box.space.vinyl:insert{382, 'tuple 382'} - - [382, 'tuple 382'] -box.space.vinyl:insert{383, "tuple 383"} +box.space.vinyl:insert{383, 'tuple 383'} - - [383, 'tuple 383'] -box.space.vinyl:insert{384, "tuple 384"} +box.space.vinyl:insert{384, 'tuple 384'} - - [384, 'tuple 384'] box.space.memtx:select{380} @@ -4890,34 +4890,34 @@ box.space.vinyl:select{383} box.space.vinyl:select{384} - - [384, 'tuple 384'] -box.space.memtx:insert{385, "tuple 385"} +box.space.memtx:insert{385, 'tuple 385'} - - [385, 'tuple 385'] -box.space.memtx:insert{386, "tuple 386"} +box.space.memtx:insert{386, 'tuple 386'} - - [386, 'tuple 386'] -box.space.memtx:insert{387, "tuple 387"} +box.space.memtx:insert{387, 'tuple 387'} - - [387, 'tuple 387'] -box.space.memtx:insert{388, "tuple 388"} +box.space.memtx:insert{388, 'tuple 388'} - - [388, 'tuple 388'] -box.space.memtx:insert{389, "tuple 389"} +box.space.memtx:insert{389, 'tuple 389'} - - [389, 'tuple 389'] -box.space.vinyl:insert{385, "tuple 385"} +box.space.vinyl:insert{385, 'tuple 385'} - - [385, 'tuple 385'] -box.space.vinyl:insert{386, "tuple 386"} +box.space.vinyl:insert{386, 'tuple 386'} - - [386, 'tuple 386'] -box.space.vinyl:insert{387, "tuple 387"} +box.space.vinyl:insert{387, 'tuple 387'} - - [387, 'tuple 387'] -box.space.vinyl:insert{388, "tuple 388"} +box.space.vinyl:insert{388, 'tuple 388'} - - [388, 'tuple 388'] -box.space.vinyl:insert{389, "tuple 389"} +box.space.vinyl:insert{389, 'tuple 389'} - - [389, 'tuple 389'] box.space.memtx:select{385} @@ -4956,34 +4956,34 @@ box.cfg{replication=''} --- ... switch master to replica -box.space.memtx:insert{390, "tuple 390"} +box.space.memtx:insert{390, 'tuple 390'} - - [390, 'tuple 390'] -box.space.memtx:insert{391, "tuple 391"} +box.space.memtx:insert{391, 'tuple 391'} - - [391, 'tuple 391'] -box.space.memtx:insert{392, "tuple 392"} +box.space.memtx:insert{392, 'tuple 392'} - - [392, 'tuple 392'] -box.space.memtx:insert{393, "tuple 393"} +box.space.memtx:insert{393, 'tuple 393'} - - [393, 'tuple 393'] -box.space.memtx:insert{394, "tuple 394"} +box.space.memtx:insert{394, 'tuple 394'} - - [394, 'tuple 394'] -box.space.vinyl:insert{390, "tuple 390"} +box.space.vinyl:insert{390, 'tuple 390'} - - [390, 'tuple 390'] -box.space.vinyl:insert{391, "tuple 391"} +box.space.vinyl:insert{391, 'tuple 391'} - - [391, 'tuple 391'] -box.space.vinyl:insert{392, "tuple 392"} +box.space.vinyl:insert{392, 'tuple 392'} - - [392, 'tuple 392'] -box.space.vinyl:insert{393, "tuple 393"} +box.space.vinyl:insert{393, 'tuple 393'} - - [393, 'tuple 393'] -box.space.vinyl:insert{394, "tuple 394"} +box.space.vinyl:insert{394, 'tuple 394'} - - [394, 'tuple 394'] box.space.memtx:select{390} @@ -5016,34 +5016,34 @@ box.space.vinyl:select{393} box.space.vinyl:select{394} - - [394, 'tuple 394'] -box.space.memtx:insert{395, "tuple 395"} +box.space.memtx:insert{395, 'tuple 395'} - - [395, 'tuple 395'] -box.space.memtx:insert{396, "tuple 396"} +box.space.memtx:insert{396, 'tuple 396'} - - [396, 'tuple 396'] -box.space.memtx:insert{397, "tuple 397"} +box.space.memtx:insert{397, 'tuple 397'} - - [397, 'tuple 397'] -box.space.memtx:insert{398, "tuple 398"} +box.space.memtx:insert{398, 'tuple 398'} - - [398, 'tuple 398'] -box.space.memtx:insert{399, "tuple 399"} +box.space.memtx:insert{399, 'tuple 399'} - - [399, 'tuple 399'] -box.space.vinyl:insert{395, "tuple 395"} +box.space.vinyl:insert{395, 'tuple 395'} - - [395, 'tuple 395'] -box.space.vinyl:insert{396, "tuple 396"} +box.space.vinyl:insert{396, 'tuple 396'} - - [396, 'tuple 396'] -box.space.vinyl:insert{397, "tuple 397"} +box.space.vinyl:insert{397, 'tuple 397'} - - [397, 'tuple 397'] -box.space.vinyl:insert{398, "tuple 398"} +box.space.vinyl:insert{398, 'tuple 398'} - - [398, 'tuple 398'] -box.space.vinyl:insert{399, "tuple 399"} +box.space.vinyl:insert{399, 'tuple 399'} - - [399, 'tuple 399'] box.space.memtx:select{395} diff --git a/test/replication-py/swap.test.py b/test/replication-py/swap.test.py index 98eeeea6d..c5718cffd 100644 --- a/test/replication-py/swap.test.py +++ b/test/replication-py/swap.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import tarantool from lib.tarantool_server import TarantoolServer @@ -7,26 +9,26 @@ import yaml REPEAT = 20 ID_BEGIN = 0 ID_STEP = 5 -LOGIN = 'test' -PASSWORD = 'pass123456' +LOGIN = "test" +PASSWORD = "pass123456" -engines = ['memtx', 'vinyl'] +engines = ["memtx", "vinyl"] def insert_tuples(_server, begin, end, msg = "tuple"): for engine in engines: for i in range(begin, end): - print 'box.space.%s:insert{%d, "%s %d"}' % (engine, i, msg, i) - print '-' + print("box.space.{}:insert{{{}, '{} {}'}}".format(engine, i, msg, i)) + print("-") space = _server.iproto.py_con.space(engine) - print space.insert((i, '%s %d' % (msg, i))) + print(space.insert((i, "{} {}".format(msg, i)))) def select_tuples(_server, begin, end): for engine in engines: for i in range(begin, end): - print 'box.space.%s:select{%d}' % (engine, i) - print '-' + print("box.space.{}:select{{{}}}".format(engine, i)) + print("-") space = _server.iproto.py_con.space(engine) - print space.select(i) + print(space.select(i)) # master server master = server @@ -34,11 +36,11 @@ master = server master.stop() master.cleanup() master.deploy() -master.admin("box.schema.user.create('%s', { password = '%s'})" % (LOGIN, PASSWORD)) -master.admin("box.schema.user.grant('%s', 'read,write,execute', 'universe')" % LOGIN) +master.admin("box.schema.user.create('{}', {{ password = '{}'}})".format(LOGIN, PASSWORD)) +master.admin("box.schema.user.grant('{}', 'read,write,execute', 'universe')".format(LOGIN)) master.iproto.py_con.authenticate(LOGIN, PASSWORD) -master.uri = '%s:%s@%s' % (LOGIN, PASSWORD, master.iproto.uri) -os.putenv('MASTER', master.uri) +master.uri = "{}:{}@{}".format(LOGIN, PASSWORD, master.iproto.uri) +os.putenv("MASTER", master.uri) # replica server replica = TarantoolServer() @@ -46,27 +48,27 @@ replica.script = "replication-py/replica.lua" replica.vardir = server.vardir #os.path.join(server.vardir, 'replica') replica.deploy() replica.admin("while box.info.id == 0 do require('fiber').sleep(0.01) end") -replica.uri = '%s:%s@%s' % (LOGIN, PASSWORD, replica.iproto.uri) +replica.uri = "{}:{}@{}".format(LOGIN, PASSWORD, replica.iproto.uri) replica.admin("while box.space['_priv']:len() < 1 do require('fiber').sleep(0.01) end") replica.iproto.py_con.authenticate(LOGIN, PASSWORD) for engine in engines: - master.admin("s = box.schema.space.create('%s', { engine = '%s'})" % (engine, engine)) + master.admin("s = box.schema.space.create('{}', {{ engine = '{}'}})".format(engine, engine)) master.admin("index = s:create_index('primary', {type = 'tree'})") ### gh-343: replica.cc must not add login and password to proc title #status = replica.get_param("status") -#host_port = "%s:%s" % master.iproto.uri -#m = re.search(r'replica/(.*)/.*', status) +#host_port = "{}:{}".format(master.iproto.uri) +#m = re.search(r"replica/(.*)/.*", status) #if not m or m.group(1) != host_port: -# print 'invalid box.info.status', status, 'expected host:port', host_port +# print("invalid box.info.status", status, "expected host:port", host_port) -master_id = master.get_param('id') -replica_id = replica.get_param('id') +master_id = master.get_param("id") +replica_id = replica.get_param("id") id = ID_BEGIN for i in range(REPEAT): - print "test %d iteration" % i + print("test {} iteration".format(i)) # insert to master insert_tuples(master, id, id + ID_STEP) @@ -82,7 +84,7 @@ for i in range(REPEAT): select_tuples(replica, id, id + ID_STEP) id += ID_STEP - print "swap servers" + print("swap servers") # reconfigure replica to master replica.rpl_master = None print("switch replica to master") @@ -90,7 +92,7 @@ for i in range(REPEAT): # reconfigure master to replica master.rpl_master = replica print("switch master to replica") - master.admin("box.cfg{replication='%s'}" % replica.uri, silent=True) + master.admin("box.cfg{{replication='{}'}}".format(replica.uri), silent=True) # insert to replica insert_tuples(replica, id, id + ID_STEP) @@ -106,7 +108,7 @@ for i in range(REPEAT): select_tuples(master, id, id + ID_STEP) id += ID_STEP - print "rollback servers configuration" + print("rollback servers configuration") # reconfigure replica to master master.rpl_master = None print("switch master to master") @@ -114,7 +116,7 @@ for i in range(REPEAT): # reconfigure master to replica replica.rpl_master = master print("switch replica to replica") - replica.admin("box.cfg{replication='%s'}" % master.uri, silent=True) + replica.admin("box.cfg{{replication='{}'}}".format(master.uri), silent=True) # Cleanup. diff --git a/test/xlog-py/big_lsn.test.py b/test/xlog-py/big_lsn.test.py index c6a31d971..edc1e5620 100644 --- a/test/xlog-py/big_lsn.test.py +++ b/test/xlog-py/big_lsn.test.py @@ -19,8 +19,8 @@ old_wal = os.path.join(wal_dir, "%020d.xlog" % old_lsn) new_wal = os.path.join(wal_dir, "%020d.xlog" % new_lsn) with open(old_wal, "r+") as f: s = f.read() - s = s.replace("VClock: {1: %d}" % old_lsn, - "VClock: {1: %d}" % new_lsn) + s = s.replace("VClock: {{1: {}}}".format(old_lsn), + "VClock: {{1: {}}}".format(new_lsn)) f.seek(0) f.write(s) os.rename(old_wal, new_wal) diff --git a/test/xlog-py/dup_key.test.py b/test/xlog-py/dup_key.test.py index 7609c9555..b1442c520 100644 --- a/test/xlog-py/dup_key.test.py +++ b/test/xlog-py/dup_key.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import yaml @@ -26,7 +28,7 @@ server.stop() # Save wal#1 if os.access(wal, os.F_OK): - print ".xlog exists" + print(".xlog exists") os.rename(wal, wal_old) # Write wal#2 @@ -37,18 +39,17 @@ server.stop() # Restore wal#1 if not os.access(wal, os.F_OK): - print ".xlog does not exist" + print(".xlog does not exist") os.rename(wal_old, wal) server.start() -line = 'Duplicate key' -print "check log line for '%s'" % line -print +line = "Duplicate key" +print("check log line for '{}'".format(line)) +print("") if server.logfile_pos.seek_once(line) >= 0: - print "'%s' exists in server log" % line -print + print("'{}' exists in server log".format(line)) +print("") server.admin("box.space.test:get{1}") server.admin("box.space.test:get{2}") server.admin("box.space.test:len()") - diff --git a/test/xlog-py/empty.test.py b/test/xlog-py/empty.test.py index d6f89e0fb..8b19bc3d7 100644 --- a/test/xlog-py/empty.test.py +++ b/test/xlog-py/empty.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import yaml from os.path import abspath @@ -20,7 +22,7 @@ f.close() server.start() server.stop() if os.access(filename, os.F_OK): - print ".xlog exists" + print(".xlog exists") # the server has started but is crippled since it # can't override an existing file server.start() diff --git a/test/xlog-py/lsn_gap.test.py b/test/xlog-py/lsn_gap.test.py index 7a503ff07..8da6166a2 100644 --- a/test/xlog-py/lsn_gap.test.py +++ b/test/xlog-py/lsn_gap.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import yaml # @@ -28,11 +30,11 @@ os.unlink(wal) server.start() line="ignoring a gap in LSN" -print "check log line for '%s'" % line -print +print("check log line for '{}'".format(line)) +print("") if server.logfile_pos.seek_once(line) >= 0: - print "'%s' exists in server log" % line -print + print("'{}' exists in server log".format(line)) +print("") # missing tuple from removed xlog server.admin("box.space.test:select{}") diff --git a/test/xlog-py/misc.test.py b/test/xlog-py/misc.test.py index e39ae1495..3fcda9504 100644 --- a/test/xlog-py/misc.test.py +++ b/test/xlog-py/misc.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import os import yaml @@ -11,9 +13,9 @@ server.stop() data_path = os.path.join(server.vardir, server.name) -print """ -# xlog file must exist after inserts. -""" +print("") +print("# xlog file must exist after inserts.") +print("") filename = str(lsn).zfill(20) + ".xlog" wal = os.path.join(data_path, filename) @@ -21,16 +23,16 @@ server.start() server.admin("space = box.schema.space.create('tweedledum')") if os.access(wal, os.F_OK): - print ".xlog exists" + print(".xlog exists") server.admin("index = space:create_index('primary', { type = 'hash' })") server.stop() lsn += 2 -print """ -# a new xlog must be opened after regular termination. -""" +print("") +print("# a new xlog must be opened after regular termination.") +print("") filename = str(lsn).zfill(20) + ".xlog" server.start() @@ -39,18 +41,17 @@ wal = os.path.join(data_path, filename) server.admin("box.space.tweedledum:insert{3, 'third tuple'}") if os.access(wal, os.F_OK): - print "a new .xlog exists" + print("a new .xlog exists") server.stop() if os.access(wal, os.F_OK): - print ".xlog stays around after sutdown" + print(".xlog stays around after shutdown") lsn += 1 -print """ -# An xlog file with one record during recovery. -""" - +print("") +print("# An xlog file with one record during recovery.") +print("") server.start() filename = str(lsn).zfill(20) + ".xlog" wal = os.path.join(data_path, filename) @@ -63,7 +64,7 @@ if pid > 0: server.stop() if os.access(wal, os.F_OK): - print ".xlog exists after kill -9" + print(".xlog exists after kill -9") # Remove last byte from xlog f = open(wal, "a") size = f.tell() @@ -73,7 +74,7 @@ if os.access(wal, os.F_OK): server.start() if os.access(wal, os.F_OK): - print "corrupt .xlog exists after start" + print("corrupt .xlog exists after start") server.stop() lsn += 1 @@ -98,4 +99,4 @@ for f in os.listdir(data_path): server.start() lsn = int(yaml.safe_load(admin("box.info.lsn", silent=True))[0]) if lsn == orig_lsn: - print ".snap.inprogress is ignored" + print(".snap.inprogress is ignored") diff --git a/test/xlog-py/missing.test.py b/test/xlog-py/missing.test.py index df35dc6d7..2fff0df6c 100644 --- a/test/xlog-py/missing.test.py +++ b/test/xlog-py/missing.test.py @@ -1,3 +1,5 @@ +from __future__ import print_function + import yaml import os # @@ -34,11 +36,11 @@ os.unlink(wal) # this may lead to infinite recursion at start server.start() line="ignoring a gap in LSN" -print "check log line for '%s'" % line -print +print("check log line for '{}'".format(line)) +print("") if server.logfile_pos.seek_once(line) >= 0: - print "'%s' exists in server log" % line -print + print("'{}' exists in server log".format(line)) +print("") # missing tuples from removed xlog server.admin("box.space.test:select{}") -- 2.25.1