You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++][Parquet] OpenTelemetry possibly reporting wrong column in ColumnReaderImpl::ReadColumn #51370
So the reported column information is wrong when only a subset of columns is read, or when nested schemas exist.
Could use manifest_.GetFieldIndices(column_indices)[i], but that does not work with nested schemas. Cannot use column_indices[i] here, as it does not align with reader indices either.
Note: Use of i earlier in this method is fixed in #51362:
I think we can map i to the top-level column column index with manifest_.GetFieldIndices as you'd done originally in #51362. But we'd need to get the name from the top-level schema node instead of Column(i). And phys_type could be set if the column is a primitive, otherwise we leave it empty?
I reproduced this and have a fix ready. It follows @adamreeve’s suggestion: map each selected Parquet leaf index to its top-level field, use that field’s index and name in the tracing attributes, and leave the physical type empty for nested fields. I applied the same mapping to direct row-group column reads.
I added OpenTelemetry tests for flat, nested, reordered, full-schema, and direct reads. All five fail before the fix and pass afterward, and the existing Parquet tests still pass.
The change is currently based on #51362. Once that merges, I can rebase onto main and open the PR. Does this approach sound right?
Activity
adamreeve commentedon Sep 17, 2026
I think we can map
ito the top-level column column index withmanifest_.GetFieldIndicesas you'd done originally in #51362. But we'd need to get the name from the top-level schema node instead ofColumn(i). Andphys_typecould be set if the column is a primitive, otherwise we leave it empty?gitedmond commentedon Sep 19, 2026
I reproduced this and have a fix ready. It follows @adamreeve’s suggestion: map each selected Parquet leaf index to its top-level field, use that field’s index and name in the tracing attributes, and leave the physical type empty for nested fields. I applied the same mapping to direct row-group column reads.
I added OpenTelemetry tests for flat, nested, reordered, full-schema, and direct reads. All five fail before the fix and pass afterward, and the existing Parquet tests still pass.
The change is currently based on #51362. Once that merges, I can rebase onto
mainand open the PR. Does this approach sound right?adamreeve commentedon Sep 20, 2026
Sounds good thanks @gitedmond, I've merged #51362 so you can rebase now.
gitedmond commentedon Sep 20, 2026
Thanks! I've rebased onto main and opened #51401.
apacheGH-51370: Address Parquet tracing review feedback
apacheGH-51370: Skip tracing test under ASAN
Revert "apacheGH-51370: Skip tracing test under ASAN"
apacheGH-51370: [C++][Parquet] Skip OpenTelemetry tracing test under …
apacheGH-51370: Preserve Parquet tracing attribute names
apacheGH-51370: Preserve existing tracing attribute keys
adamreeve commentedon Sep 27, 2026
Issue resolved by pull request 51401
#51401
apacheGH-51370: [C++][Parquet] Fix tracing column attributes (apache#…