[Tarantool-patches] [PATCH 0/8] wait for lsn and confirm
Vladislav Shpilevoy
v.shpilevoy at tarantool.org
Tue Jun 23 00:51:34 MSK 2020
I've got an assertion fail on this test:
Instance 1:
box.cfg{
listen = 3313,
replication = {'localhost:3313', 'localhost:3314'},
replication_timeout = 20,
replication_synchro_quorum = 2,
replication_synchro_timeout = 100,
}
box.schema.user.grant('guest', 'super')
s = box.schema.create_space('test', {is_sync = true})
pk = s:create_index('pk')
s:replace{1}
Instance 2:
box.cfg{
listen = 3314,
replication = {'localhost:3313', 'localhost:3314'},
replication_timeout = 20,
replication_synchro_quorum = 2,
replication_synchro_timeout = 100,
}
box.schema.user.grant('guest', 'super')
The first instance crashes like this:
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00007fff784192c2 libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff784d4bf1 libsystem_pthread.dylib`pthread_kill + 284
frame #2: 0x00007fff783836a6 libsystem_c.dylib`abort + 127
frame #3: 0x00007fff7834c20d libsystem_c.dylib`__assert_rtn + 324
frame #4: 0x0000000100469242 tarantool`vclock_follow(vclock=0x00000001005f8010, replica_id=1, lsn=0) at vclock.c:46:2
frame #5: 0x00000001000fac50 tarantool`txn_limbo_ack(limbo=0x00000001005f7ff8, replica_id=1, lsn=0) at txn_limbo.c:287:2
frame #6: 0x000000010012c2ee tarantool`tx_status_update(msg=0x000000010e0022f8) at relay.cc:411:3
frame #7: 0x000000010024da48 tarantool`cmsg_deliver(msg=0x000000010e0022f8) at cbus.c:375:2
frame #8: 0x000000010024fa39 tarantool`fiber_pool_f(ap=0x00000001040015e8) at fiber_pool.c:64:3
frame #9: 0x000000010000672a tarantool`fiber_cxx_invoke(f=(tarantool`fiber_pool_f at fiber_pool.c:38), ap=0x00000001040015e8)(__va_list_tag*), __va_list_tag*) at fiber.h:782:10
frame #10: 0x0000000100244acb tarantool`fiber_loop(data=0x0000000000000000) at fiber.c:869:18
frame #11: 0x00000001004c2e77 tarantool`coro_init at coro.c:110:3
(lldb) f 5
frame #5: 0x00000001000fac50 tarantool`txn_limbo_ack(limbo=0x00000001005f7ff8, replica_id=1, lsn=0) at txn_limbo.c:287:2
284 return;
285 assert(limbo->instance_id != REPLICA_ID_NIL);
286 int64_t prev_lsn = vclock_get(&limbo->vclock, replica_id);
-> 287 vclock_follow(&limbo->vclock, replica_id, lsn);
288 struct txn_limbo_entry *e;
289 struct txn_limbo_entry *last_quorum = NULL;
290 rlist_foreach_entry(e, &limbo->queue, in_queue) {
Second instance has replica_id 1.
More information about the Tarantool-patches
mailing list