github-actions[bot] commented on code in PR #69242:
URL: https://github.com/apache/doris/pull/69242#discussion_r4307955641


##########
be/src/storage/tablet/tablet_schema.cpp:
##########
@@ -1463,9 +1464,6 @@ void TabletSchema::to_schema_pb(TabletSchemaPB* 
tablet_schema_pb) const {
     tablet_schema_pb->set_skip_bitmap_col_idx(_skip_bitmap_col_idx);
     tablet_schema_pb->set_commit_tso_col_idx(_commit_tso_col_idx);
     tablet_schema_pb->set_row_lsn_col_idx(_row_lsn_col_idx);
-    tablet_schema_pb->set_binlog_tso_col_idx(_binlog_tso_col_idx);
-    tablet_schema_pb->set_binlog_lsn_col_idx(_binlog_lsn_col_idx);
-    tablet_schema_pb->set_binlog_op_col_idx(_binlog_op_col_idx);
     
tablet_schema_pb->set_inverted_index_storage_format(_inverted_index_storage_format);

Review Comment:
   [P2] Keep emitting binlog ordinals for older BE recovery
   
   Dropping these writes also removes the indexes from committed rowset 
metadata, which had valid values even when the tablet's metadata contained 
`-1`. If a local BE commits a row-binlog partial update, then is rolled back to 
the pre-PR master before publish, `DataDir::load` restores the attached 
rowset's existing PB schema and `TxnManager` restores its partial-update info. 
That reader initializes the absent LSN ordinal to `-1`; when publish aligns 
against a conflicting same-key row, `BaseTablet::calc_segment_delete_bitmap` 
casts it to `UINT32_MAX` and `create_storage_block` indexes `_cols[cid]`, 
causing an out-of-bounds access/BE crash. Please keep the deprecated PB fields 
and serialization writes for older readers while deriving the values on read, 
and cover recovery of such a pending transaction across rollback.



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