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 <killme2008@gmail.com>
This commit is contained in:
Dennis Zhuang
2026-08-22 21:40:25 +08:00
parent 28245cdad5
commit 027a9ed9ba
3 changed files with 8 additions and 6 deletions
-5
View File
@@ -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)]
+3 -1
View File
@@ -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)
+5
View File
@@ -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