zclllyybb commented on issue #65440:
URL: https://github.com/apache/doris/issues/65440#issuecomment-4931690511

   Breakwater-GitHub-Analysis-Slot: slot_029b66102255
   This content is generated by AI for reference only.
   
   Initial triage: this looks like a real row-binlog schema contract bug, and 
the proposed fix direction in PR #65438 matches the code path.
   
   What I checked:
   
   - The live issue currently has no prior comments and reports a master-based 
reproduction from 2026-07-10.
   - In current `upstream/master`, `Column.generateAfterValueColumn()` clones 
the user column and only adjusts comment/aggregation, so a value column such as 
`b BITMAP NOT NULL` remains non-nullable in the generated row-binlog 
after/output schema.
   - The corresponding `Column.generateBeforeValueColumn()` already makes the 
generated `__BEFORE__...` column nullable and clears defaults.
   - `OlapTable.generateTableRowBinlogSchema()` adds the after value column for 
every non-key value column, and adds the nullable before mirror when 
`binlog.need_historical_value=true`.
   - In BE `BlockReader::_min_delta_next_block()`, the `UPDATE_BEFORE_AFTER` 
path emits both the before row and after row into one returned output block. 
For the before row, it resolves the normal value column to the `__BEFORE__` 
source column and inserts that source value into the same returned after/output 
column slot.
   
   That makes the reported crash credible: the source column for the before 
value can be `ColumnNullable`, while the returned target slot for `b` is still 
the non-nullable complex `BITMAP` column. For `BITMAP`, that can reach the 
reported bad cast from `ColumnNullable` to `ColumnComplexType<BITMAP>` during 
`insert_from()`.
   
   I would classify this as an FE-generated row-binlog schema mismatch exposed 
by BE MIN_DELTA materialization, not as a bitmap function problem. The fix in 
PR #65438, which makes generated after value columns nullable and clears their 
default values just like before value columns, aligns the unified MIN_DELTA 
output schema with the values it must carry. The added regression case for 
`BITMAP NOT NULL` MIN_DELTA also covers the reported failure shape.
   
   Recommended next steps:
   
   - Update PR #65438 metadata to reference/close this issue now that #65440 
exists.
   - Review and merge PR #65438 after CI confirms the listed FE unit test and 
`row_binlog_p0/test_binlog_changes_syntax` regression pass.
   - If this needs backporting, first identify the affected release 
branches/tags. The issue currently only states a local master-based checkout, 
so release impact is not established from the public report alone.
   
   No additional runtime logs are required for the initial diagnosis because 
the issue already includes a minimal SQL repro, crash signature, and a 
referenced fix PR. The only missing information for maintainers is the affected 
released-version/backport scope, if any.
   


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