[Tarantool-patches] [PATCH 17/17] relay: use _xc recovery helpers
Cyrill Gorcunov
gorcunov at gmail.com
Tue Apr 28 19:11:37 MSK 2020
Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
src/box/relay.cc | 19 +++++--------------
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/src/box/relay.cc b/src/box/relay.cc
index a5bcd9580..b6be3c0bd 100644
--- a/src/box/relay.cc
+++ b/src/box/relay.cc
@@ -341,10 +341,8 @@ relay_final_join_f(va_list ap)
/* Send all WALs until stop_vclock */
assert(relay->stream.write != NULL);
- if (recover_remaining_wals(relay->r, &relay->stream,
- &relay->stop_vclock, true) != 0) {
- diag_raise();
- }
+ recover_remaining_wals_xc(relay->r, &relay->stream,
+ &relay->stop_vclock, true);
assert(vclock_compare(&relay->r->vclock, &relay->stop_vclock) == 0);
return 0;
}
@@ -363,9 +361,7 @@ relay_final_join(int fd, uint64_t sync, struct vclock *start_vclock,
relay_delete(relay);
});
- relay->r = recovery_new(cfg_gets("wal_dir"), false, start_vclock);
- if (relay->r == NULL)
- diag_raise();
+ relay->r = recovery_new_xc(cfg_gets("wal_dir"), false, start_vclock);
vclock_copy(&relay->stop_vclock, stop_vclock);
@@ -504,10 +500,7 @@ relay_process_wal_event(struct wal_watcher *watcher, unsigned events)
}
try {
bool scan_dir = (events & WAL_EVENT_ROTATE) ? true : false;
- if (recover_remaining_wals(relay->r, &relay->stream, NULL,
- scan_dir) != 0) {
- diag_raise();
- }
+ recover_remaining_wals_xc(relay->r, &relay->stream, NULL, scan_dir);
} catch (Exception *e) {
relay_set_error(relay, e);
fiber_cancel(fiber());
@@ -719,9 +712,7 @@ relay_subscribe(struct replica *replica, int fd, uint64_t sync,
});
vclock_copy(&relay->local_vclock_at_subscribe, &replicaset.vclock);
- relay->r = recovery_new(cfg_gets("wal_dir"), false, replica_clock);
- if (relay->r == NULL)
- diag_raise();
+ relay->r = recovery_new_xc(cfg_gets("wal_dir"), false, replica_clock);
vclock_copy(&relay->tx.vclock, replica_clock);
relay->version_id = replica_version_id;
--
2.20.1
More information about the Tarantool-patches
mailing list