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]