fix check_ls_dag_exist & compaction iter not iter transfer tablet
This commit is contained in:
@ -2196,7 +2196,10 @@ int ObTenantDagScheduler::check_ls_compaction_dag_exist_with_cancel(
|
|||||||
ObIDag *cancel_dag = nullptr;
|
ObIDag *cancel_dag = nullptr;
|
||||||
bool cancel_flag = false;
|
bool cancel_flag = false;
|
||||||
int64_t cancel_dag_cnt = 0;
|
int64_t cancel_dag_cnt = 0;
|
||||||
{
|
if (has_set_stop()) { // scheduler thread is stopped
|
||||||
|
exist = false;
|
||||||
|
COMMON_LOG(INFO, "dag scheduler is stopped", KR(ret), K(exist));
|
||||||
|
} else {
|
||||||
ObThreadCondGuard guard(scheduler_sync_);
|
ObThreadCondGuard guard(scheduler_sync_);
|
||||||
for (int64_t i = 0; i < ObIDag::MergeDagPrioCnt; ++i) {
|
for (int64_t i = 0; i < ObIDag::MergeDagPrioCnt; ++i) {
|
||||||
ObIDag *head = dag_list_[READY_DAG_LIST].get_head(ObIDag::MergeDagPrio[i]);
|
ObIDag *head = dag_list_[READY_DAG_LIST].get_head(ObIDag::MergeDagPrio[i]);
|
||||||
|
|||||||
@ -269,8 +269,8 @@ public:
|
|||||||
{
|
{
|
||||||
return DAG_STATUS_FINISH == dag_status || DAG_STATUS_ABORT == dag_status;
|
return DAG_STATUS_FINISH == dag_status || DAG_STATUS_ABORT == dag_status;
|
||||||
}
|
}
|
||||||
bool has_set_stop() { return is_stop_; }
|
bool has_set_stop() { return ATOMIC_LOAD(&is_stop_); }
|
||||||
void set_stop() { is_stop_ = true; }
|
void set_stop() { ATOMIC_SET(&is_stop_, true); }
|
||||||
ObIDagNet *get_dag_net() const { return dag_net_; }
|
ObIDagNet *get_dag_net() const { return dag_net_; }
|
||||||
void set_dag_net(ObIDagNet &dag_net)
|
void set_dag_net(ObIDagNet &dag_net)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -274,8 +274,8 @@ int ObBasicTabletMergeDag::get_tablet_and_compat_mode()
|
|||||||
} else if (OB_FAIL(ctx_->ls_handle_.get_ls()->get_tablet_svr()->get_tablet(
|
} else if (OB_FAIL(ctx_->ls_handle_.get_ls()->get_tablet_svr()->get_tablet(
|
||||||
tablet_id_,
|
tablet_id_,
|
||||||
tmp_tablet_handle,
|
tmp_tablet_handle,
|
||||||
0,
|
0/*timeout*/,
|
||||||
ObMDSGetTabletMode::READ_WITHOUT_CHECK))) {
|
ObMDSGetTabletMode::READ_ALL_COMMITED))) {
|
||||||
LOG_WARN("failed to get tablet", K(ret), K(ls_id_), K(tablet_id_));
|
LOG_WARN("failed to get tablet", K(ret), K(ls_id_), K(tablet_id_));
|
||||||
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx_->param_.merge_type_, *tmp_tablet_handle.get_obj()))) {
|
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx_->param_.merge_type_, *tmp_tablet_handle.get_obj()))) {
|
||||||
if (OB_NO_NEED_MERGE != ret) {
|
if (OB_NO_NEED_MERGE != ret) {
|
||||||
@ -758,8 +758,8 @@ int ObTabletMergeExecutePrepareTask::get_tablet_and_result()
|
|||||||
} else if (OB_FAIL(ctx_->ls_handle_.get_ls()->get_tablet(
|
} else if (OB_FAIL(ctx_->ls_handle_.get_ls()->get_tablet(
|
||||||
ctx_->param_.tablet_id_,
|
ctx_->param_.tablet_id_,
|
||||||
ctx_->tablet_handle_,
|
ctx_->tablet_handle_,
|
||||||
0,
|
0/*timeout*/,
|
||||||
storage::ObMDSGetTabletMode::READ_WITHOUT_CHECK))) {
|
storage::ObMDSGetTabletMode::READ_ALL_COMMITED))) {
|
||||||
LOG_WARN("failed to get tablet", K(ret), K(ctx_->param_));
|
LOG_WARN("failed to get tablet", K(ret), K(ctx_->param_));
|
||||||
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx_->param_.merge_type_, *ctx_->tablet_handle_.get_obj()))) {
|
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx_->param_.merge_type_, *ctx_->tablet_handle_.get_obj()))) {
|
||||||
if (OB_NO_NEED_MERGE != ret) {
|
if (OB_NO_NEED_MERGE != ret) {
|
||||||
@ -947,8 +947,8 @@ int ObTabletMergePrepareTask::process()
|
|||||||
} else if (OB_FAIL(ctx->ls_handle_.get_ls()->get_tablet(
|
} else if (OB_FAIL(ctx->ls_handle_.get_ls()->get_tablet(
|
||||||
ctx->param_.tablet_id_,
|
ctx->param_.tablet_id_,
|
||||||
ctx->tablet_handle_,
|
ctx->tablet_handle_,
|
||||||
0,
|
0/*timeout*/,
|
||||||
storage::ObMDSGetTabletMode::READ_WITHOUT_CHECK))) {
|
storage::ObMDSGetTabletMode::READ_ALL_COMMITED))) {
|
||||||
LOG_WARN("failed to get tablet", K(ret), K(ctx->param_));
|
LOG_WARN("failed to get tablet", K(ret), K(ctx->param_));
|
||||||
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx->param_.merge_type_, *ctx->tablet_handle_.get_obj()))) {
|
} else if (OB_FAIL(ObTabletMergeChecker::check_need_merge(ctx->param_.merge_type_, *ctx->tablet_handle_.get_obj()))) {
|
||||||
if (OB_NO_NEED_MERGE != ret) {
|
if (OB_NO_NEED_MERGE != ret) {
|
||||||
|
|||||||
@ -1734,7 +1734,7 @@ int ObCompactionScheduleIterator::get_tablet_ids()
|
|||||||
int ObCompactionScheduleIterator::get_tablet_handle(
|
int ObCompactionScheduleIterator::get_tablet_handle(
|
||||||
const ObTabletID &tablet_id, ObTabletHandle &tablet_handle)
|
const ObTabletID &tablet_id, ObTabletHandle &tablet_handle)
|
||||||
{
|
{
|
||||||
return ls_tablet_svr_->get_tablet(tablet_id, tablet_handle, 0/*timeout*/);
|
return ls_tablet_svr_->get_tablet(tablet_id, tablet_handle, 0/*timeout*/, ObMDSGetTabletMode::READ_ALL_COMMITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
int64_t ObCompactionScheduleIterator::to_string(char *buf, const int64_t buf_len) const
|
int64_t ObCompactionScheduleIterator::to_string(char *buf, const int64_t buf_len) const
|
||||||
|
|||||||
Reference in New Issue
Block a user