From b77fade7b834d6003ea09228ae46c4ee8c2c8e15 Mon Sep 17 00:00:00 2001 From: Arseny Sher Date: Wed, 4 Aug 2021 11:55:33 +0300 Subject: [PATCH] Look up wal directory properly in all find_end_of_wal callers. ref #388 --- walkeeper/src/receive_wal.rs | 8 +------- walkeeper/src/timeline.rs | 3 ++- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/walkeeper/src/receive_wal.rs b/walkeeper/src/receive_wal.rs index a411171d7f..5a701dba17 100644 --- a/walkeeper/src/receive_wal.rs +++ b/walkeeper/src/receive_wal.rs @@ -242,13 +242,7 @@ impl ReceiveWalConn { my_info.server.node_id = node_id; /* Calculate WAL end based on local data */ - let (flush_lsn, timeline) = self.timeline.find_end_of_wal( - &self - .conf - .data_dir - .join(format!("{}", server_info.timeline_id)), - true, - ); + let (flush_lsn, timeline) = self.timeline.find_end_of_wal(&self.conf.data_dir, true); my_info.flush_lsn = flush_lsn; my_info.server.timeline = timeline; diff --git a/walkeeper/src/timeline.rs b/walkeeper/src/timeline.rs index 70cf0d5bf0..3a2ff235cd 100644 --- a/walkeeper/src/timeline.rs +++ b/walkeeper/src/timeline.rs @@ -232,7 +232,8 @@ impl TimelineTools for Option> { /// Find last WAL record. If "precise" is false then just locate last partial segment fn find_end_of_wal(&self, data_dir: &Path, precise: bool) -> (Lsn, TimeLineID) { let seg_size = self.get().get_info().server.wal_seg_size as usize; - let (lsn, timeline) = find_end_of_wal(data_dir, seg_size, precise); + let wal_dir = data_dir.join(format!("{}", self.get().timelineid)); + let (lsn, timeline) = find_end_of_wal(&wal_dir, seg_size, precise); (Lsn(lsn), timeline) } }