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

   ### What problem does this PR solve?
   
   Issue Number: close #66368
   
   Related PR: None
   
   Problem Summary: ROW binlog DATA and ROW_BINLOG flush tasks can convert the 
same Block concurrently. The simple OLAP converter requested mutable ownership 
for every nullable nested column and normalized floating-point NaNs in place, 
so shared columns could trip the COW ownership assertion and source data could 
be modified. Read simple source columns through const pointers, retain 
zero-copy slices for non-floating and NaN-free floating columns, and normalize 
NaNs only in a reusable converter-owned slice buffer.
   
   ### Release note
   
   Fix ROW binlog loads that could fail with a COW ownership assertion during 
concurrent segment flush.
   
   ### Check List (For Author)
   
   - Test: Unit Test
       - ./run-be-ut.sh --run --filter=OlapDataConvertorTest.*
   - Behavior changed: Yes. OLAP conversion no longer mutates source columns 
while preserving normalized floating-point NaN output.
   - 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