Fix wrong data tablet id of bind hidden tablet
This commit is contained in:
@ -315,7 +315,7 @@ int ObTabletCreateMdsHelper::check_create_arg(
|
||||
if (OB_FAIL(check_pure_aux_tablets_info(ls_id, info, valid))) {
|
||||
LOG_WARN("failed to check create tablet info", K(ret), K(ls_id), K(info));
|
||||
}
|
||||
} else if (is_hidden_tablets(info)) {
|
||||
} else if (is_bind_hidden_tablets(info)) {
|
||||
for (int64_t i = 0; OB_SUCC(ret) && i < info.tablet_ids_.count(); ++i) {
|
||||
const ObTabletID &tablet_id = info.tablet_ids_.at(i);
|
||||
bool has_related_aux_info = find_aux_info_for_hidden_tablets(arg, tablet_id, aux_info_idx);
|
||||
@ -360,8 +360,8 @@ int ObTabletCreateMdsHelper::create_tablets(
|
||||
if (CLICK_FAIL(build_pure_aux_tablets(arg, info, for_replay, scn, ctx, tablet_id_array))) {
|
||||
LOG_WARN("failed to build pure aux tablets", K(ret), K(info));
|
||||
}
|
||||
} else if (is_hidden_tablets(info)) {
|
||||
if (CLICK_FAIL(build_hidden_tablets(arg, info, for_replay, scn, ctx, tablet_id_array))) {
|
||||
} else if (is_bind_hidden_tablets(info)) {
|
||||
if (CLICK_FAIL(build_bind_hidden_tablets(arg, info, for_replay, scn, ctx, tablet_id_array))) {
|
||||
LOG_WARN("failed to build hidden tablets", K(ret), K(info));
|
||||
}
|
||||
}
|
||||
@ -414,7 +414,7 @@ bool ObTabletCreateMdsHelper::is_pure_aux_tablets(const obrpc::ObCreateTabletInf
|
||||
return tablet_ids.count() >= 1 && !is_contain(tablet_ids, data_tablet_id) && !info.is_create_bind_hidden_tablets_;
|
||||
}
|
||||
|
||||
bool ObTabletCreateMdsHelper::is_hidden_tablets(const obrpc::ObCreateTabletInfo &info)
|
||||
bool ObTabletCreateMdsHelper::is_bind_hidden_tablets(const obrpc::ObCreateTabletInfo &info)
|
||||
{
|
||||
const ObTabletID &data_tablet_id = info.data_tablet_id_;
|
||||
const ObSArray<ObTabletID> &tablet_ids = info.tablet_ids_;
|
||||
@ -835,7 +835,7 @@ int ObTabletCreateMdsHelper::build_pure_aux_tablets(
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObTabletCreateMdsHelper::build_hidden_tablets(
|
||||
int ObTabletCreateMdsHelper::build_bind_hidden_tablets(
|
||||
const obrpc::ObBatchCreateTabletArg &arg,
|
||||
const obrpc::ObCreateTabletInfo &info,
|
||||
const bool for_replay,
|
||||
@ -846,7 +846,7 @@ int ObTabletCreateMdsHelper::build_hidden_tablets(
|
||||
MDS_TG(10_ms);
|
||||
int ret = OB_SUCCESS;
|
||||
const ObLSID &ls_id = arg.id_;
|
||||
const ObTabletID &data_tablet_id = info.data_tablet_id_;
|
||||
const ObTabletID &orig_tablet_id = info.data_tablet_id_;
|
||||
const ObSArray<ObTabletID> &tablet_ids = info.tablet_ids_;
|
||||
const ObSArray<ObCreateTabletSchema*> &create_tablet_schemas = arg.create_tablet_schemas_;
|
||||
const lib::Worker::CompatMode &compat_mode = info.compat_mode_;
|
||||
@ -901,7 +901,7 @@ int ObTabletCreateMdsHelper::build_hidden_tablets(
|
||||
exist = false;
|
||||
ret = OB_SUCCESS;
|
||||
} else {
|
||||
LOG_WARN("failed to get tablet", K(ret), K(ls_id), K(data_tablet_id), K(tablet_id));
|
||||
LOG_WARN("failed to get tablet", K(ret), K(ls_id), K(orig_tablet_id), K(tablet_id));
|
||||
}
|
||||
} else {
|
||||
exist = true;
|
||||
@ -911,12 +911,12 @@ int ObTabletCreateMdsHelper::build_hidden_tablets(
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (for_replay && exist) {
|
||||
LOG_INFO("create hidden tablet is already exist, skip it", K(ret), K(for_replay), K(exist),
|
||||
K(ls_id), K(data_tablet_id), K(tablet_id));
|
||||
K(ls_id), K(orig_tablet_id), K(tablet_id));
|
||||
} else if (CLICK_FAIL(tablet_id_array.push_back(tablet_id))) {
|
||||
LOG_WARN("failed to push back tablet id", K(ret), K(ls_id), K(tablet_id));
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, tablet_id, data_tablet_id,
|
||||
} else if (CLICK_FAIL(ls->get_tablet_svr()->create_tablet(ls_id, tablet_id, tablet_id,
|
||||
scn, snapshot_version, *create_tablet_schema, tablet_handle))) {
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(tablet_id), K(data_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
LOG_WARN("failed to do create tablet", K(ret), K(ls_id), K(tablet_id), K(orig_tablet_id), "arg", PRETTY_ARG(arg));
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
|
||||
@ -95,7 +95,7 @@ private:
|
||||
static bool is_pure_data_tablets(const obrpc::ObCreateTabletInfo &info);
|
||||
static bool is_mixed_tablets(const obrpc::ObCreateTabletInfo &info);
|
||||
static bool is_pure_aux_tablets(const obrpc::ObCreateTabletInfo &info);
|
||||
static bool is_hidden_tablets(const obrpc::ObCreateTabletInfo &info);
|
||||
static bool is_bind_hidden_tablets(const obrpc::ObCreateTabletInfo &info);
|
||||
static int check_pure_data_or_mixed_tablets_info(
|
||||
const share::ObLSID &ls_id,
|
||||
const obrpc::ObCreateTabletInfo &info,
|
||||
@ -134,7 +134,7 @@ private:
|
||||
const share::SCN &scn,
|
||||
mds::BufferCtx &ctx,
|
||||
common::ObIArray<common::ObTabletID> &tablet_id_array);
|
||||
static int build_hidden_tablets(
|
||||
static int build_bind_hidden_tablets(
|
||||
const obrpc::ObBatchCreateTabletArg &arg,
|
||||
const obrpc::ObCreateTabletInfo &info,
|
||||
const bool for_replay,
|
||||
|
||||
Reference in New Issue
Block a user