fix(page_service): lsn lease API puts tenant_shard_id in tenant_id tracing field

The LSN lease api actually accepts a tenant_shard_id, not a tenant_id.
But we put the Display of the tenant_shard_id into the tenant_id field.
This PR fixes it.

Refs
- fixes https://databricks.atlassian.net/browse/LKB-2930
This commit is contained in:
Christian Schwarz
2025-08-05 22:25:30 +02:00
parent 8a9f1dd5e7
commit 2ee0f4271c

View File

@@ -76,7 +76,6 @@ use crate::pgdatadir_mapping::{LsnRange, Version};
use crate::span::{
debug_assert_current_span_has_tenant_and_timeline_id,
debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id,
debug_assert_current_span_has_tenant_id,
};
use crate::task_mgr::{self, COMPUTE_REQUEST_RUNTIME, TaskKind};
use crate::tenant::mgr::{
@@ -2194,6 +2193,8 @@ impl PageServerHandler {
where
IO: AsyncRead + AsyncWrite + Send + Sync + Unpin,
{
debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id();
let timeline = self
.timeline_handles
.as_mut()
@@ -2249,7 +2250,7 @@ impl PageServerHandler {
where
IO: AsyncRead + AsyncWrite + Send + Sync + Unpin,
{
debug_assert_current_span_has_tenant_id();
debug_assert_current_span_has_tenant_and_timeline_id_no_shard_id();
let timeline = self
.timeline_handles
@@ -3224,7 +3225,7 @@ where
lsn,
}) => {
tracing::Span::current()
.record("tenant_id", field::display(tenant_shard_id))
.record("tenant_id", field::display(tenant_shard_id.tenant_id))
.record("timeline_id", field::display(timeline_id));
self.check_permission(Some(tenant_shard_id.tenant_id))?;
@@ -3256,7 +3257,7 @@ where
lsn,
}) => {
tracing::Span::current()
.record("tenant_id", field::display(tenant_shard_id))
.record("tenant_id", field::display(tenant_shard_id.tenant_id))
.record("timeline_id", field::display(timeline_id));
self.check_permission(Some(tenant_shard_id.tenant_id))?;