xylaaaaa opened a new pull request, #65560:
URL: https://github.com/apache/doris/pull/65560

   Issue Number: None
   
   Related PR: None
   
   Problem Summary: COUNT(nullable complex column) over Parquet or ORC file 
TVFs cannot use COUNT(*) row metadata because top-level NULL values must be 
excluded. With FileScannerV2, the query therefore decoded the full complex 
column through Arrow and then materialized Doris columns, retaining decoded 
binary chunks and causing excessive peak memory or intermittent OOM. This 
change introduces an explicit COUNT_NON_NULL operation and target slot from FE 
to BE. Parquet counts top-level shape from bounded definition/repetition-level 
batches without Arrow builders or Doris value columns, while ORC uses non-null 
stripe statistics. It also emits valid non-NULL synthetic target rows and 
releases file-block ownership before mutable output conversion to avoid 
unnecessary COW copies.
   
   Reduce memory usage for COUNT on nullable columns read from Parquet and ORC 
file TVFs with FileScannerV2.
   
   - Test: Unit Test
       - FE PhysicalStorageLayerAggregateTest: 4 tests passed
       - BE targeted Parquet, ORC, and TableReader tests: 14 tests passed
       - HDFS TVF regression assertion added but not run locally because this 
worktree has no Doris cluster or external HDFS test environment
   - Behavior changed: Yes. Eligible nullable file-column counts use explicit 
COUNT_NON_NULL pushdown instead of materializing the full column.
   - Does this need documentation: No
   


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