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]
