print 'gh-527: update vclock on delete from db.space._cluster' print '-------------------------------------------------------------' # master server master = server master_id = master.get_param('server')['id'] master.admin("db.schema.user.grant('guest', 'replication')") replica = BeeServer(server.ini) replica.script = 'replication/replica.lua' replica.vardir = os.path.join(server.vardir, 'replica') replica.rpl_master = master replica.deploy() replica.wait_lsn(master_id, master.get_lsn(master_id)) replica_id = replica.get_param('server')['id'] replica_uuid = replica.get_param('server')['uuid'] sys.stdout.push_filter(replica_uuid, '<replica uuid>') replica.admin('db.space._schema:insert{"test", 48}') replica.admin('db.info.server.id') replica.admin('db.info.server.ro') replica.admin('db.info.server.lsn') # 1 replica.admin('db.info.vclock[%d]' % replica_id) master.admin('db.space._cluster:delete{%d}' % replica_id) replica.wait_lsn(master_id, master.get_lsn(master_id)) replica.admin('db.info.server.id') replica.admin('db.info.server.ro') replica.admin('db.info.server.lsn') # -1 replica.admin('db.info.vclock[%d]' % replica_id)
import time from lib.bee_server import BeeServer # master server master = server master.admin("db.schema.user.grant('guest', 'read,write,execute', 'universe')") # replica server replica = BeeServer() replica.script = "replication/replica.lua" replica.rpl_master = master replica.vardir = os.path.join(master.vardir, 'replica') replica.deploy() replica.get_param('node') cycles = 0 status = replica.admin.execute_no_reconnect("db.info.status", True) while (re.search(r'replica/.*/(connecting|connected)\n', status) == None and cycles < 500): time.sleep(0.01) status = replica.admin.execute_no_reconnect("db.info.status", True) cycles += 1 print(re.search(r'replica/.*/(connecting|connected)\n', status) != None) master.stop() cycles = 0 while (re.search(r'replica/.*/(connecting|failed)\n', status) == None and cycles < 500): time.sleep(0.01) status = replica.admin.execute_no_reconnect("db.info.status", True)