From de27c7dc667650aa1a89553d574d5358e72bd0a9 Mon Sep 17 00:00:00 2001 From: Bojan Serafimov Date: Mon, 11 Jul 2022 15:40:25 -0400 Subject: [PATCH] Fix cherry-pick --- pageserver/src/basebackup.rs | 2 +- pageserver/src/page_service.rs | 6 +++--- zenith_utils/src/pq_proto.rs | 12 ++++++++++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/pageserver/src/basebackup.rs b/pageserver/src/basebackup.rs index d02dfacf1e..c378a5f936 100644 --- a/pageserver/src/basebackup.rs +++ b/pageserver/src/basebackup.rs @@ -90,7 +90,7 @@ impl<'a> Basebackup<'a> { // Consolidate the derived and the provided prev_lsn values let prev_lsn = if let Some(provided_prev_lsn) = prev_lsn { if backup_prev != Lsn(0) { - ensure!(backup_prev == provided_prev_lsn) + anyhow::ensure!(backup_prev == provided_prev_lsn) } provided_prev_lsn } else { diff --git a/pageserver/src/page_service.rs b/pageserver/src/page_service.rs index 152d0364c0..1cde3cd10a 100644 --- a/pageserver/src/page_service.rs +++ b/pageserver/src/page_service.rs @@ -538,7 +538,7 @@ impl PageServerHandler { { let mut writer = CopyDataSink { pgb }; - let basebackup = + let mut basebackup = basebackup::Basebackup::new(&mut writer, &timeline, lsn, prev_lsn, full_backup)?; span.record("lsn", &basebackup.lsn.to_string().as_str()); basebackup.send_tarball()?; @@ -656,10 +656,10 @@ impl postgres_backend::Handler for PageServerHandler { let timelineid = ZTimelineId::from_str(params[1])?; self.check_permission(Some(tenantid))?; - let timeline = tenant_mgr::get_local_timeline_with_load(tenantid, timelineid) + let timeline = tenant_mgr::get_timeline_for_tenant_load(tenantid, timelineid) .context("Cannot load local timeline")?; - let end_of_timeline = timeline.tline.get_last_record_rlsn(); + let end_of_timeline = timeline.get_last_record_rlsn(); pgb.write_message_noflush(&BeMessage::RowDescription(&[ RowDescriptor::text_col(b"prev_lsn"), diff --git a/zenith_utils/src/pq_proto.rs b/zenith_utils/src/pq_proto.rs index cb69418c07..675508f26c 100644 --- a/zenith_utils/src/pq_proto.rs +++ b/zenith_utils/src/pq_proto.rs @@ -480,6 +480,18 @@ impl RowDescriptor<'_> { formatcode: 0, } } + + pub const fn text_col(name: &[u8]) -> RowDescriptor { + RowDescriptor { + name, + tableoid: 0, + attnum: 0, + typoid: TEXT_OID, + typlen: -1, + typmod: 0, + formatcode: 0, + } + } } #[derive(Debug)]