@@ -150,7 +150,7 @@ Status CloudSchemaChangeJob::process_alter_tablet(const TAlterTabletReqV2& reque
150150 // [0-1] is a placeholder rowset, no need to convert
151151 RETURN_IF_ERROR (_base_tablet->capture_rs_readers ({2 , start_resp.alter_version ()},
152152 &rs_splits,
153- {.skip_missing_version = false ,
153+ {.skip_missing_versions = false ,
154154 .enable_prefer_cached_rowset = false ,
155155 .query_freshness_tolerance_ms = -1 }));
156156 }
@@ -199,7 +199,7 @@ Status CloudSchemaChangeJob::process_alter_tablet(const TAlterTabletReqV2& reque
199199 reader_context.sequence_id_idx = reader_context.tablet_schema ->sequence_col_idx ();
200200 reader_context.is_unique = _base_tablet->keys_type () == UNIQUE_KEYS;
201201 reader_context.batch_size = ALTER_TABLE_BATCH_SIZE;
202- reader_context.delete_bitmap = & _base_tablet->tablet_meta ()->delete_bitmap ();
202+ reader_context.delete_bitmap = _base_tablet->tablet_meta ()->delete_bitmap_ptr ();
203203 reader_context.version = Version (0 , start_resp.alter_version ());
204204 std::vector<uint32_t > cluster_key_idxes;
205205 if (!_base_tablet_schema->cluster_key_uids ().empty ()) {
@@ -509,22 +509,21 @@ Status CloudSchemaChangeJob::_process_delete_bitmap(int64_t alter_version,
509509 }
510510
511511 // step 1, process incremental rowset without delete bitmap update lock
512- std::vector<RowsetSharedPtr> incremental_rowsets;
513512 RETURN_IF_ERROR (_cloud_storage_engine.meta_mgr ().sync_tablet_rowsets (tmp_tablet.get ()));
514513 int64_t max_version = tmp_tablet->max_version ().second ;
515514 LOG (INFO) << " alter table for mow table, calculate delete bitmap of "
516515 << " incremental rowsets without lock, version: " << start_calc_delete_bitmap_version
517516 << " -" << max_version << " new_table_id: " << _new_tablet->tablet_id ();
518517 if (max_version >= start_calc_delete_bitmap_version) {
519- RETURN_IF_ERROR (tmp_tablet->capture_consistent_rowsets_unlocked (
520- {start_calc_delete_bitmap_version, max_version}, &incremental_rowsets ));
518+ auto ret = DORIS_TRY (tmp_tablet->capture_consistent_rowsets_unlocked (
519+ {start_calc_delete_bitmap_version, max_version}, CaptureRowsetOps {} ));
521520 DBUG_EXECUTE_IF (" CloudSchemaChangeJob::_process_delete_bitmap.after.capture_without_lock" ,
522521 DBUG_BLOCK);
523522 {
524523 std::unique_lock wlock (tmp_tablet->get_header_lock ());
525524 tmp_tablet->add_rowsets (_output_rowsets, true , wlock);
526525 }
527- for (auto rowset : incremental_rowsets ) {
526+ for (auto rowset : ret. rowsets ) {
528527 RETURN_IF_ERROR (CloudTablet::update_delete_bitmap_without_lock (tmp_tablet, rowset));
529528 }
530529 }
@@ -540,15 +539,14 @@ Status CloudSchemaChangeJob::_process_delete_bitmap(int64_t alter_version,
540539 LOG (INFO) << " alter table for mow table, calculate delete bitmap of "
541540 << " incremental rowsets with lock, version: " << max_version + 1 << " -"
542541 << new_max_version << " new_tablet_id: " << _new_tablet->tablet_id ();
543- std::vector<RowsetSharedPtr> new_incremental_rowsets;
544542 if (new_max_version > max_version) {
545- RETURN_IF_ERROR (tmp_tablet->capture_consistent_rowsets_unlocked (
546- {max_version + 1 , new_max_version}, &new_incremental_rowsets ));
543+ auto ret = DORIS_TRY (tmp_tablet->capture_consistent_rowsets_unlocked (
544+ {max_version + 1 , new_max_version}, CaptureRowsetOps {} ));
547545 {
548546 std::unique_lock wlock (tmp_tablet->get_header_lock ());
549547 tmp_tablet->add_rowsets (_output_rowsets, true , wlock);
550548 }
551- for (auto rowset : new_incremental_rowsets ) {
549+ for (auto rowset : ret. rowsets ) {
552550 RETURN_IF_ERROR (CloudTablet::update_delete_bitmap_without_lock (tmp_tablet, rowset));
553551 }
554552 }
0 commit comments