diff --git a/src/box/recovery.cc b/src/box/recovery.cc index 1322a53ab17fa06ca5b620ee69a5499844126ee5..5d7d6b04a3181f3c77ed9c55fed07b3f37afa642 100644 --- a/src/box/recovery.cc +++ b/src/box/recovery.cc @@ -268,9 +268,6 @@ recover_xlog(struct recovery *r, struct xstream *stream, if (stop_vclock != NULL && r->vclock.signature >= stop_vclock->signature) return; - int64_t current_lsn = vclock_get(&r->vclock, row.replica_id); - if (row.lsn <= current_lsn) - continue; /* already applied, skip */ /* * All rows in xlog files have an assigned replica @@ -278,6 +275,9 @@ recover_xlog(struct recovery *r, struct xstream *stream, * are signed with a zero replica id. */ assert(row.replica_id != 0 || row.group_id == GROUP_LOCAL); + int64_t current_lsn = vclock_get(&r->vclock, row.replica_id); + if (row.lsn <= current_lsn) + continue; /* already applied, skip */ /* * We can promote the vclock either before or * after xstream_write(): it only makes any impact