Fix table load manager remove table ctx

This commit is contained in:
suz-yang
2023-09-18 11:40:12 +00:00
committed by ob-robot
parent 063bcc3731
commit 18860b81cc
2 changed files with 10 additions and 3 deletions

View File

@ -44,6 +44,7 @@ int ObDirectLoadControlPreBeginExecutor::check_args()
int ObDirectLoadControlPreBeginExecutor::process() int ObDirectLoadControlPreBeginExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control pre begin", K_(arg));
if (OB_FAIL(ObTableLoadService::check_tenant())) { if (OB_FAIL(ObTableLoadService::check_tenant())) {
LOG_WARN("fail to check tenant", KR(ret)); LOG_WARN("fail to check tenant", KR(ret));
} }
@ -127,6 +128,7 @@ int ObDirectLoadControlConfirmBeginExecutor::check_args()
int ObDirectLoadControlConfirmBeginExecutor::process() int ObDirectLoadControlConfirmBeginExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control confirm begin", K_(arg));
if (OB_FAIL(ObTableLoadService::check_tenant())) { if (OB_FAIL(ObTableLoadService::check_tenant())) {
LOG_WARN("fail to check tenant", KR(ret)); LOG_WARN("fail to check tenant", KR(ret));
} }
@ -171,6 +173,7 @@ int ObDirectLoadControlPreMergeExecutor::check_args()
int ObDirectLoadControlPreMergeExecutor::process() int ObDirectLoadControlPreMergeExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control pre merge", K_(arg));
if (OB_FAIL(ObTableLoadService::check_tenant())) { if (OB_FAIL(ObTableLoadService::check_tenant())) {
LOG_WARN("fail to check tenant", KR(ret)); LOG_WARN("fail to check tenant", KR(ret));
} }
@ -209,6 +212,7 @@ int ObDirectLoadControlStartMergeExecutor::check_args()
int ObDirectLoadControlStartMergeExecutor::process() int ObDirectLoadControlStartMergeExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control start merge", K_(arg));
if (OB_FAIL(ObTableLoadService::check_tenant())) { if (OB_FAIL(ObTableLoadService::check_tenant())) {
LOG_WARN("fail to check tenant", KR(ret)); LOG_WARN("fail to check tenant", KR(ret));
} }
@ -247,6 +251,7 @@ int ObDirectLoadControlCommitExecutor::check_args()
int ObDirectLoadControlCommitExecutor::process() int ObDirectLoadControlCommitExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control commit", K_(arg));
if (OB_FAIL(ObTableLoadService::check_tenant())) { if (OB_FAIL(ObTableLoadService::check_tenant())) {
LOG_WARN("fail to check tenant", KR(ret)); LOG_WARN("fail to check tenant", KR(ret));
} }
@ -287,6 +292,7 @@ int ObDirectLoadControlAbortExecutor::check_args()
int ObDirectLoadControlAbortExecutor::process() int ObDirectLoadControlAbortExecutor::process()
{ {
int ret = OB_SUCCESS; int ret = OB_SUCCESS;
LOG_INFO("table load control abort", K_(arg));
ObTableLoadTableCtx *table_ctx = nullptr; ObTableLoadTableCtx *table_ctx = nullptr;
ObTableLoadUniqueKey key(arg_.table_id_, arg_.task_id_); ObTableLoadUniqueKey key(arg_.table_id_, arg_.task_id_);
if (OB_FAIL(ObTableLoadService::get_ctx(key, table_ctx))) { if (OB_FAIL(ObTableLoadService::get_ctx(key, table_ctx))) {

View File

@ -109,18 +109,19 @@ int ObTableLoadManager::remove_table_ctx(const ObTableLoadUniqueKey &key,
bool is_erased = false; bool is_erased = false;
obsys::ObWLockGuard guard(rwlock_); obsys::ObWLockGuard guard(rwlock_);
if (OB_FAIL(table_ctx_map_.erase_if(key, erase_if_equal, is_erased))) { if (OB_FAIL(table_ctx_map_.erase_if(key, erase_if_equal, is_erased))) {
if (OB_UNLIKELY(OB_HASH_NOT_EXIST == ret)) { if (OB_UNLIKELY(OB_HASH_NOT_EXIST != ret)) {
LOG_WARN("fail to erase refactored", KR(ret), K(key)); LOG_WARN("fail to erase refactored", KR(ret), K(key));
} else { } else {
ret = OB_ENTRY_NOT_EXIST; ret = OB_ENTRY_NOT_EXIST;
LOG_WARN("table ctx not exist in manager", KR(ret), K(key), KPC(table_ctx));
} }
} else if (OB_UNLIKELY(!is_erased)) { } else if (OB_UNLIKELY(!is_erased)) {
ret = OB_ERR_UNEXPECTED; ret = OB_ERR_UNEXPECTED;
LOG_WARN("unexpected table ctx", KR(ret), KPC(table_ctx)); LOG_WARN("unexpected table ctx not in manager", KR(ret), K(key), KPC(table_ctx));
} }
// try remove table ctx index // try remove table ctx index
else if (OB_FAIL(table_ctx_index_map_.erase_if(table_id, erase_if_equal, is_erased))) { else if (OB_FAIL(table_ctx_index_map_.erase_if(table_id, erase_if_equal, is_erased))) {
if (OB_UNLIKELY(OB_HASH_NOT_EXIST == ret)) { if (OB_UNLIKELY(OB_HASH_NOT_EXIST != ret)) {
LOG_WARN("fail to get refactored", KR(ret), K(table_id)); LOG_WARN("fail to get refactored", KR(ret), K(table_id));
} else { } else {
ret = OB_SUCCESS; ret = OB_SUCCESS;