yixiutt commented on code in PR #17542:
URL: https://github.com/apache/doris/pull/17542#discussion_r1178577533
##########
be/src/olap/tablet.cpp:
##########
@@ -2590,6 +2703,30 @@ Status Tablet::calc_delete_bitmap(RowsetId rowset_id,
loc.rowset_id = rowset_id;
loc.segment_id = seg->id();
loc.row_id = row_id;
+ } else if (is_partial_update && rowset_writer != nullptr) {
+ // In publish version, record rows to be deleted for
concurrent update
+ // For example, if version 5 and 6 update a row, but
version 6 only see
+ // version 4 when write, and when publish version,
version 5's value will
+ // be marked as deleted and it's update is losed.
+ // So here we should read version 5's columns and
build a new row, which is
+ // consists of version 6's update columns and version
5's origin columns
+ // here we build 2 read plan for ori values and update
values
+ prepare_to_read(loc, pos, &read_plan_ori);
+ prepare_to_read(RowLocation {rowset_id, seg->id(),
row_id}, pos,
+ &read_plan_update);
+ rsid_to_rowset[rowset_find->rowset_id()] = rowset_find;
+ ++pos;
Review Comment:
fixed,add a sort_block function to handle this
--
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]