github-actions[bot] commented on code in PR #67573:
URL: https://github.com/apache/doris/pull/67573#discussion_r3950070563


##########
be/src/format_v2/parquet/reader/native/column_chunk_reader.cpp:
##########
@@ -192,7 +192,12 @@ ParquetReaderCompat parquet_reader_compat(const 
std::string& created_by) {
     return {.parquet_816_padding =
                     
version.VersionLt(::parquet::ApplicationVersion::PARQUET_816_FIXED_VERSION()),
             .data_page_v2_always_compressed = version.VersionLt(
-                    
::parquet::ApplicationVersion::PARQUET_CPP_10353_FIXED_VERSION())};
+                    
::parquet::ApplicationVersion::PARQUET_CPP_10353_FIXED_VERSION()),
+            .null_count_trusted =
+                    !version.VersionLt(

Review Comment:
   [P1] Use Arrow's actual null-count fix boundary. 
[ARROW-12513/#18632](https://github.com/apache/arrow/issues/18632) reproduces 
PyArrow 1.0.1-3.0.0 writing `null_count=0` for nullable dictionary columns, and 
the fix landed only for Arrow 6. Affected Arrow 3 files identify as 
`parquet-cpp version 1.5.1-SNAPSHOT`, while Arrow 4/5 use `parquet-cpp-arrow`; 
this expression trusts both because 1.5.1 is above the unrelated 1.3.0 
min/max-statistics cutoff and `VersionLt` returns false for a different 
application name. Format-v2 `IS NULL` pruning can therefore still turn the bad 
zero into `has_null=false` and discard the row group. Please classify both 
pre-6 Arrow identities using the null-count fix boundary and add an 
affected-writer fixture.



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