Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions be/src/olap/single_replica_compaction.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -314,8 +314,8 @@ Status SingleReplicaCompaction::_fetch_rowset(const TReplicaInfo& addr, const st
}
RETURN_IF_ERROR(_download_files(tablet()->data_dir(), remote_url_prefix, local_path));
_pending_rs_guards = DORIS_TRY(_engine.snapshot_mgr()->convert_rowset_ids(
local_path, _tablet->tablet_id(), tablet()->replica_id(), _tablet->partition_id(),
_tablet->schema_hash()));
local_path, _tablet->tablet_id(), tablet()->replica_id(), _tablet->table_id(),
_tablet->partition_id(), _tablet->schema_hash()));
// 4: finish_clone: create output_rowset and link file
return _finish_clone(local_data_path, rowset_version);
}
Expand Down
7 changes: 5 additions & 2 deletions be/src/olap/snapshot_manager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,8 @@ Status SnapshotManager::release_snapshot(const string& snapshot_path) {
}

Result<std::vector<PendingRowsetGuard>> SnapshotManager::convert_rowset_ids(
const std::string& clone_dir, int64_t tablet_id, int64_t replica_id, int64_t partition_id,
int32_t schema_hash) {
const std::string& clone_dir, int64_t tablet_id, int64_t replica_id, int64_t table_id,
int64_t partition_id, int32_t schema_hash) {
SCOPED_SWITCH_THREAD_MEM_TRACKER_LIMITER(_mem_tracker);
std::vector<PendingRowsetGuard> guards;
// check clone dir existed
Expand Down Expand Up @@ -151,6 +151,9 @@ Result<std::vector<PendingRowsetGuard>> SnapshotManager::convert_rowset_ids(
new_tablet_meta_pb.set_tablet_id(tablet_id);
*new_tablet_meta_pb.mutable_tablet_uid() = TabletUid::gen_uid().to_proto();
new_tablet_meta_pb.set_replica_id(replica_id);
if (table_id > 0) {
new_tablet_meta_pb.set_table_id(table_id);
}
if (partition_id != -1) {
new_tablet_meta_pb.set_partition_id(partition_id);
}
Expand Down
2 changes: 1 addition & 1 deletion be/src/olap/snapshot_manager.h
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ class SnapshotManager {

Result<std::vector<PendingRowsetGuard>> convert_rowset_ids(const std::string& clone_dir,
int64_t tablet_id,
int64_t replica_id,
int64_t replica_id, int64_t table_id,
int64_t partition_id,
int32_t schema_hash);

Expand Down
2 changes: 1 addition & 1 deletion be/src/olap/task/engine_clone_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -420,7 +420,7 @@ Status EngineCloneTask::_make_and_download_snapshots(DataDir& data_dir,
}
// No need to try again with another BE
_pending_rs_guards = DORIS_TRY(_engine.snapshot_mgr()->convert_rowset_ids(
local_data_path, _clone_req.tablet_id, _clone_req.replica_id,
local_data_path, _clone_req.tablet_id, _clone_req.replica_id, _clone_req.table_id,
_clone_req.partition_id, _clone_req.schema_hash));
break;
} // clone copy from one backend
Expand Down
3 changes: 2 additions & 1 deletion be/src/olap/task/engine_storage_migration_task.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,8 @@ Status EngineStorageMigrationTask::_gen_and_write_header_to_hdr_file(
// it will change rowset id and its create time
// rowset create time is useful when load tablet from meta to check which tablet is the tablet to load
_pending_rs_guards = DORIS_TRY(_engine.snapshot_mgr()->convert_rowset_ids(
full_path, tablet_id, _tablet->replica_id(), _tablet->partition_id(), schema_hash));
full_path, tablet_id, _tablet->replica_id(), _tablet->table_id(),
_tablet->partition_id(), schema_hash));
return Status::OK();
}

Expand Down
5 changes: 3 additions & 2 deletions be/src/runtime/snapshot_loader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -753,8 +753,9 @@ Status SnapshotLoader::move(const std::string& snapshot_path, TabletSharedPtr ta
}

// rename the rowset ids and tabletid info in rowset meta
auto res = _engine.snapshot_mgr()->convert_rowset_ids(
snapshot_path, tablet_id, tablet->replica_id(), tablet->partition_id(), schema_hash);
auto res = _engine.snapshot_mgr()->convert_rowset_ids(snapshot_path, tablet_id,
tablet->replica_id(), tablet->table_id(),
tablet->partition_id(), schema_hash);
if (!res.has_value()) [[unlikely]] {
auto err_msg =
fmt::format("failed to convert rowsetids in snapshot: {}, tablet path: {}, err: {}",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ public TCloneReq toThrift() {
request.setDestPathHash(destPathHash);
}
request.setTimeoutS(timeoutS);

request.setTableId(tableId);
return request;
}

Expand Down
1 change: 1 addition & 0 deletions gensrc/thrift/AgentService.thrift
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,7 @@ struct TCloneReq {
10: optional i32 timeout_s;
11: optional Types.TReplicaId replica_id = 0
12: optional i64 partition_id
13: optional i64 table_id = -1
}

struct TCompactionReq {
Expand Down