avoid tablet iterator usage before initialization for several inner tables
This commit is contained in:
parent
44eee17093
commit
dee39633c7
@ -112,18 +112,24 @@ int ObAllVirtualMemstoreInfo::get_next_tablet(ObTabletHandle &tablet_handle)
|
||||
int ret = OB_SUCCESS;
|
||||
|
||||
while (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(ls_tablet_iter_.get_next_tablet(tablet_handle))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next tablet", K(ret));
|
||||
}
|
||||
ret = OB_SUCCESS; // continue to next ls
|
||||
if (!ls_tablet_iter_.is_valid()) {
|
||||
ObLS *ls = nullptr;
|
||||
if (OB_FAIL(get_next_ls(ls))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next ls", K(ret));
|
||||
}
|
||||
} else if (OB_FAIL(ls->get_tablet_svr()->build_tablet_iter(ls_tablet_iter_, true /* except_ls_inner_tablet */))) {
|
||||
SERVER_LOG(WARN, "fail to get tablet iter", K(ret));
|
||||
} else if (OB_FAIL(ls->build_tablet_iter(ls_tablet_iter_, true /* except_ls_inner_tablet */))) {
|
||||
SERVER_LOG(WARN, "fail to build tablet iter", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(ls_tablet_iter_.get_next_tablet(tablet_handle))) {
|
||||
if (OB_ITER_END == ret) {
|
||||
ls_tablet_iter_.reset();
|
||||
ret = OB_SUCCESS;
|
||||
} else {
|
||||
SERVER_LOG(WARN, "fail to get next tablet", K(ret));
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
@ -202,7 +208,7 @@ int ObAllVirtualMemstoreInfo::process_curr_tenant(ObNewRow *&row)
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "get_next_memtable failed", K(ret));
|
||||
}
|
||||
} else if (NULL == mt) {
|
||||
} else if (OB_ISNULL(mt)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
SERVER_LOG(WARN, "mt shouldn't NULL here", K(ret), K(mt));
|
||||
} else {
|
||||
|
@ -95,19 +95,24 @@ int ObAllVirtualTabletDDLKVInfo::get_next_ddl_kv_mgr(ObDDLKvMgrHandle &ddl_kv_mg
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
while (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(ls_tablet_iter_.get_next_ddl_kv_mgr(ddl_kv_mgr_handle))) {
|
||||
if (!ls_tablet_iter_.is_valid() || OB_ITER_END == ret) {
|
||||
ret = OB_SUCCESS; // continue to next ls
|
||||
ObLS *ls = nullptr;
|
||||
if (OB_FAIL(get_next_ls(ls))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next ls", K(ret));
|
||||
}
|
||||
} else if (OB_FAIL(ls->get_tablet_svr()->build_tablet_iter(ls_tablet_iter_))) {
|
||||
SERVER_LOG(WARN, "fail to get tablet iter", K(ret));
|
||||
if (!ls_tablet_iter_.is_valid()) {
|
||||
ObLS *ls = nullptr;
|
||||
if (OB_FAIL(get_next_ls(ls))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next ls", K(ret));
|
||||
}
|
||||
} else if (OB_FAIL(ls->build_tablet_iter(ls_tablet_iter_))) {
|
||||
SERVER_LOG(WARN, "fail to build tablet iter", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(ls_tablet_iter_.get_next_ddl_kv_mgr(ddl_kv_mgr_handle))) {
|
||||
if (OB_ITER_END == ret) {
|
||||
ls_tablet_iter_.reset();
|
||||
ret = OB_SUCCESS;
|
||||
} else {
|
||||
SERVER_LOG(WARN, "fail to get next ddl kv mgr", K(ret));
|
||||
SERVER_LOG(WARN, "fail to get next tablet", K(ret));
|
||||
}
|
||||
} else {
|
||||
curr_tablet_id_ = ddl_kv_mgr_handle.get_obj()->get_tablet_id();
|
||||
|
@ -101,18 +101,24 @@ int ObAllVirtualTabletInfo::get_next_tablet(ObTabletHandle &tablet_handle)
|
||||
int ret = OB_SUCCESS;
|
||||
|
||||
while (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(ls_tablet_iter_.get_next_tablet(tablet_handle))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next tablet", K(ret));
|
||||
}
|
||||
ret = OB_SUCCESS; // continue to next ls
|
||||
if (!ls_tablet_iter_.is_valid()) {
|
||||
ObLS *ls = nullptr;
|
||||
if (OB_FAIL(get_next_ls(ls))) {
|
||||
if (OB_ITER_END != ret) {
|
||||
SERVER_LOG(WARN, "fail to get next ls", K(ret));
|
||||
}
|
||||
} else if (OB_FAIL(ls->get_tablet_svr()->build_tablet_iter(ls_tablet_iter_))) {
|
||||
SERVER_LOG(WARN, "fail to get tablet iter", K(ret));
|
||||
} else if (OB_FAIL(ls->build_tablet_iter(ls_tablet_iter_))) {
|
||||
SERVER_LOG(WARN, "fail to build tablet iter", K(ret));
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_FAIL(ret)) {
|
||||
} else if (OB_FAIL(ls_tablet_iter_.get_next_tablet(tablet_handle))) {
|
||||
if (OB_ITER_END == ret) {
|
||||
ls_tablet_iter_.reset();
|
||||
ret = OB_SUCCESS;
|
||||
} else {
|
||||
SERVER_LOG(WARN, "fail to get next tablet", K(ret));
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
|
@ -1972,7 +1972,7 @@ int ObLSTabletService::inner_table_scan(
|
||||
K(data_max_schema_version));
|
||||
}
|
||||
|
||||
return ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ObLSTabletService::has_tablet(
|
||||
|
@ -199,7 +199,7 @@ inline int ObITabletMdsInterface::get_mds_data_from_tablet<ObTabletBindingMdsUse
|
||||
const ObTabletComplexAddr<mds::MdsDumpKV> &aux_tablet_info_addr = get_mds_data_().aux_tablet_info_.committed_kv_;
|
||||
|
||||
if (CLICK_FAIL(ObTabletMdsData::load_aux_tablet_info(aux_tablet_info_addr, aux_tablet_info))) {
|
||||
MDS_LOG_GET(WARN, "failed to load auto inc seq");
|
||||
MDS_LOG_GET(WARN, "failed to load aux tablet info");
|
||||
} else if (!aux_tablet_info.is_valid()) {
|
||||
ret = OB_EMPTY_RESULT;
|
||||
} else if (CLICK_FAIL(read_op(aux_tablet_info))) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user