github-actions[bot] commented on code in PR #67784:
URL: https://github.com/apache/doris/pull/67784#discussion_r3977794509
##########
gensrc/thrift/PlanNodes.thrift:
##########
@@ -655,7 +655,10 @@ struct TFileScanRangeParams {
34: optional i32 iceberg_scan_semantics_version
// FE-generated identity for sharing a deserialized table across JNI
scanners in one scan node.
35: optional string serialized_table_cache_key
- // 31-33 and 36 are used in master; do not allocate them in branch-4.1.
+ // HMS catalog property hive.parquet.time-zone. When absent, format_v2
keeps INT96 wall-clock
Review Comment:
[P1] Preserve legacy INT96 decoding when this field is absent
Old FEs cannot send field 36, and pre-patch BEs decode INT96 with the
session timezone. An upgraded BE maps the same absence to an empty string,
leaves `_int96_timezone` null, then passes that raw null pointer into an
`optional`, making the native reader preserve wall-clock bytes instead. During
the supported BE-first rolling upgrade, one old-FE query can therefore return
values differing by the session offset depending on which BE reads a split.
Please use an explicit semantics version/presence marker and keep absence on
upgraded BEs as the legacy session-timezone behavior.
##########
be/src/format_v2/parquet/reader/native_column_reader.cpp:
##########
@@ -202,6 +202,24 @@ const NativeFieldSchema* find_child_field(const
NativeFieldSchema& parent,
return field_it == parent.children.end() ? nullptr : &*field_it;
}
+Status sync_native_field_types(const ParquetColumnSchema& schema,
NativeFieldSchema* field) {
+ DORIS_CHECK(field != nullptr);
+ field->data_type = schema.type;
Review Comment:
[P1] Preserve Variant's physical STRUCT in this copy
At a Variant node, `schema.type` is the public `DataTypeVariantV2`, while
`NativeFieldSchema::data_type` deliberately remains `variant_physical_type` (a
STRUCT) because `native::ColumnReader::create` dispatches groups solely from
this primitive type. This assignment turns the copied group into a scalar; its
`physical_column_index` is still -1, so every top-level or nested native
Variant scan fails while constructing the row-group reader. Please preserve
`variant_physical_type` for Variant nodes (or restrict synchronization to the
timestamp leaves that need request-local semantics).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]