From 027a9ed9ba9aa5b6ef3d48f03e82e10a285f6918 Mon Sep 17 00:00:00 2001 From: Dennis Zhuang Date: Sat, 22 Aug 2026 21:40:25 +0800 Subject: [PATCH] fix(otlp): skip the descriptor's work entirely when it is disabled The collision scan over the request's output tables ran even with the feature off. Short-circuit on the option instead, and update the config snapshot the new [otlp] section changed. Also drops the doc comment orphaned by the deleted ownership check: it had attached itself to the trait impl and described a check that no longer exists. Signed-off-by: Dennis Zhuang --- src/frontend/src/instance/otlp.rs | 5 ----- src/servers/src/otlp/metrics.rs | 4 +++- tests-integration/tests/http.rs | 5 +++++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/frontend/src/instance/otlp.rs b/src/frontend/src/instance/otlp.rs index 2a369944c3f..6f307b4d512 100644 --- a/src/frontend/src/instance/otlp.rs +++ b/src/frontend/src/instance/otlp.rs @@ -83,11 +83,6 @@ fn trace_permission_targets( PermissionTableTargets::resolved(targets) } -/// Whether the table under the descriptor's name is the one ingestion -/// created, so a user's same-named table never receives descriptor rows. -/// Not atomic: the insert path resolves the name again, so a concurrent DROP -/// plus CREATE can still slip a foreign table into that window. - #[async_trait] impl OpenTelemetryProtocolHandler for Instance { #[tracing::instrument(skip_all)] diff --git a/src/servers/src/otlp/metrics.rs b/src/servers/src/otlp/metrics.rs index 68bbe692d01..3715584a25b 100644 --- a/src/servers/src/otlp/metrics.rs +++ b/src/servers/src/otlp/metrics.rs @@ -154,7 +154,9 @@ pub fn to_grpc_insert_requests( // The metric and the descriptor would fight over the same table across // two engines. The user's metric wins. - let resource_info = if requests + let resource_info = if !metric_ctx.resource_info { + None + } else if requests .inserts .iter() .any(|r| r.table_name == OTEL_RESOURCE_INFO_TABLE_NAME) diff --git a/tests-integration/tests/http.rs b/tests-integration/tests/http.rs index 720ae6b8124..8ed87c92f20 100644 --- a/tests-integration/tests/http.rs +++ b/tests-integration/tests/http.rs @@ -2204,6 +2204,11 @@ default_merge_mode = "last_non_null" [jaeger] enable = true +[otlp] +enable = true +trace_ingest_chunk_size = 512 +experimental_enable_resource_info = true + [prom_store] enable = true with_metric_engine = true