hubgeter commented on code in PR #66758:
URL: https://github.com/apache/doris/pull/66758#discussion_r3782345754


##########
be/src/format_v2/parquet/reader/variant_column_reader.cpp:
##########
@@ -851,18 +1048,32 @@ class ParquetVariantShreddedState final : public 
VariantShreddedState {
         std::lock_guard lock(_materialization_lock);
         _materialized.reset();
         _serialized.reset();
+        _unshredded_metadata_cache.reset();
         return true;
     }
 
     std::optional<VariantShreddedTypedValue> find_typed_value(
             std::span<const VariantShreddedPathSegment> path) const override {
+        auto residual_seek_fallback = [&]() -> 
std::optional<VariantShreddedTypedValue> {
+            // Complete mixed shredded states still need canonical 
reconstruction when neither a
+            // typed leaf nor the pure unshredded direct-seek path can answer 
the request.
+            if (_complete && !unshredded_child_indices(*_schema).has_value() &&
+                find_child(*_schema, "value", nullptr) != nullptr) {
+                
update_counter(_profile.variant_direct_residual_seek_fallbacks, 1);
+            }
+            return std::nullopt;
+        };
         auto path_miss = [&]() -> std::optional<VariantShreddedTypedValue> {
             update_counter(_profile.variant_direct_leaf_path_misses, 1);
-            return std::nullopt;
+            return residual_seek_fallback();
         };
         if (path.empty()) {
             return path_miss();
         }
+        if (auto normalized = find_unshredded_normalized_value(path); 
normalized.has_value()) {
+            return VariantShreddedTypedValue {

Review Comment:
   Fixed in 715e82f7eea. Iceberg profile assertions now use 
VariantDirectResidualSeekRows. Predicate-only and position-delete scans require 
VariantReconstructedRows to be present but exactly zero; the helper now 
separates required counters from counters that must become positive.



-- 
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]

Reply via email to