ddl not record warning of entry not exist in dag warning history
This commit is contained in:
@ -2099,6 +2099,9 @@ int ObDDLScheduler::on_column_checksum_calc_reply(
|
|||||||
}))) {
|
}))) {
|
||||||
LOG_WARN("failed to modify task", K(ret));
|
LOG_WARN("failed to modify task", K(ret));
|
||||||
}
|
}
|
||||||
|
if (OB_ENTRY_NOT_EXIST == ret) {
|
||||||
|
ret = OB_NEED_RETRY;
|
||||||
|
}
|
||||||
LOG_INFO("receive column checksum response", K(ret), K(tablet_id), K(task_key), K(ret_code));
|
LOG_INFO("receive column checksum response", K(ret), K(tablet_id), K(task_key), K(ret_code));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -2167,6 +2170,9 @@ int ObDDLScheduler::on_sstable_complement_job_reply(
|
|||||||
}))) {
|
}))) {
|
||||||
LOG_WARN("failed to modify task", K(ret));
|
LOG_WARN("failed to modify task", K(ret));
|
||||||
}
|
}
|
||||||
|
if (OB_ENTRY_NOT_EXIST == ret) {
|
||||||
|
ret = OB_NEED_RETRY;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -79,7 +79,7 @@ private:
|
|||||||
|| common::OB_TRANS_CTX_NOT_EXIST == ret_code;
|
|| common::OB_TRANS_CTX_NOT_EXIST == ret_code;
|
||||||
}
|
}
|
||||||
static bool is_retry(const int ret_code) {
|
static bool is_retry(const int ret_code) {
|
||||||
return common::OB_EAGAIN == ret_code || common::OB_DDL_SCHEMA_VERSION_NOT_MATCH == ret_code || common::OB_TASK_EXPIRED == ret_code
|
return common::OB_EAGAIN == ret_code || common::OB_DDL_SCHEMA_VERSION_NOT_MATCH == ret_code || common::OB_TASK_EXPIRED == ret_code || common::OB_NEED_RETRY == ret_code
|
||||||
|| common::OB_ERR_SHARED_LOCK_CONFLICT == ret_code || common::OB_ERR_WAIT_REMOTE_SCHEMA_REFRESH == ret_code || common::OB_SCHEMA_EAGAIN == ret_code
|
|| common::OB_ERR_SHARED_LOCK_CONFLICT == ret_code || common::OB_ERR_WAIT_REMOTE_SCHEMA_REFRESH == ret_code || common::OB_SCHEMA_EAGAIN == ret_code
|
||||||
|| common::OB_ERR_REMOTE_SCHEMA_NOT_FULL == ret_code || common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT == ret_code || common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT == ret_code
|
|| common::OB_ERR_REMOTE_SCHEMA_NOT_FULL == ret_code || common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT == ret_code || common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT == ret_code
|
||||||
|| common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT_NOWAIT == ret_code || common::OB_TRANS_STMT_NEED_RETRY == ret_code || common::OB_SCHEMA_NOT_UPTODATE == ret_code
|
|| common::OB_ERR_EXCLUSIVE_LOCK_CONFLICT_NOWAIT == ret_code || common::OB_TRANS_STMT_NEED_RETRY == ret_code || common::OB_SCHEMA_NOT_UPTODATE == ret_code
|
||||||
|
|||||||
@ -803,6 +803,13 @@ int ObUniqueCheckingDag::fill_dag_key(char *buf, const int64_t buf_len) const
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ObUniqueCheckingDag::ignore_warning()
|
||||||
|
{
|
||||||
|
return OB_EAGAIN == dag_ret_
|
||||||
|
|| OB_NEED_RETRY == dag_ret_
|
||||||
|
|| OB_TASK_EXPIRED == dag_ret_;
|
||||||
|
}
|
||||||
|
|
||||||
bool ObUniqueCheckingDag::operator==(const ObIDag &other) const
|
bool ObUniqueCheckingDag::operator==(const ObIDag &other) const
|
||||||
{
|
{
|
||||||
int tmp_ret = OB_SUCCESS;
|
int tmp_ret = OB_SUCCESS;
|
||||||
|
|||||||
@ -179,6 +179,7 @@ public:
|
|||||||
common::ObTabletID get_tablet_id() const { return tablet_id_; }
|
common::ObTabletID get_tablet_id() const { return tablet_id_; }
|
||||||
uint64_t get_tenant_id() const { return tenant_id_; }
|
uint64_t get_tenant_id() const { return tenant_id_; }
|
||||||
share::ObLSID get_ls_id() const { return ls_id_; }
|
share::ObLSID get_ls_id() const { return ls_id_; }
|
||||||
|
virtual bool ignore_warning() override;
|
||||||
virtual int fill_comment(char *buf, const int64_t buf_len) const override;
|
virtual int fill_comment(char *buf, const int64_t buf_len) const override;
|
||||||
virtual int fill_dag_key(char *buf, const int64_t buf_len) const override;
|
virtual int fill_dag_key(char *buf, const int64_t buf_len) const override;
|
||||||
virtual lib::Worker::CompatMode get_compat_mode() const override
|
virtual lib::Worker::CompatMode get_compat_mode() const override
|
||||||
|
|||||||
@ -383,6 +383,13 @@ int ObComplementDataDag::create_first_task()
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool ObComplementDataDag::ignore_warning()
|
||||||
|
{
|
||||||
|
return OB_EAGAIN == dag_ret_
|
||||||
|
|| OB_NEED_RETRY == dag_ret_
|
||||||
|
|| OB_TASK_EXPIRED == dag_ret_;
|
||||||
|
}
|
||||||
|
|
||||||
int ObComplementDataDag::prepare_context()
|
int ObComplementDataDag::prepare_context()
|
||||||
{
|
{
|
||||||
int ret = OB_SUCCESS;
|
int ret = OB_SUCCESS;
|
||||||
|
|||||||
@ -153,6 +153,7 @@ public:
|
|||||||
virtual uint64_t get_consumer_group_id() const override
|
virtual uint64_t get_consumer_group_id() const override
|
||||||
{ return consumer_group_id_; }
|
{ return consumer_group_id_; }
|
||||||
virtual int create_first_task() override;
|
virtual int create_first_task() override;
|
||||||
|
virtual bool ignore_warning() override;
|
||||||
// report replica build status to RS.
|
// report replica build status to RS.
|
||||||
int report_replica_build_status();
|
int report_replica_build_status();
|
||||||
private:
|
private:
|
||||||
|
|||||||
@ -201,7 +201,8 @@ bool ObDDLTableMergeDag::ignore_warning()
|
|||||||
return OB_LS_NOT_EXIST == dag_ret_
|
return OB_LS_NOT_EXIST == dag_ret_
|
||||||
|| OB_TABLET_NOT_EXIST == dag_ret_
|
|| OB_TABLET_NOT_EXIST == dag_ret_
|
||||||
|| OB_TASK_EXPIRED == dag_ret_
|
|| OB_TASK_EXPIRED == dag_ret_
|
||||||
|| OB_EAGAIN == dag_ret_;
|
|| OB_EAGAIN == dag_ret_
|
||||||
|
|| OB_NEED_RETRY == dag_ret_;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************** ObDDLTableDumpTask *****************/
|
/****************** ObDDLTableDumpTask *****************/
|
||||||
@ -268,6 +269,9 @@ int ObDDLTableDumpTask::process()
|
|||||||
ObArray<ObITable *> candidate_sstables;
|
ObArray<ObITable *> candidate_sstables;
|
||||||
if (OB_FAIL(ddl_kv_mgr_handle.get_obj()->get_freezed_ddl_kv(freeze_scn_, ddl_kv_handle))) {
|
if (OB_FAIL(ddl_kv_mgr_handle.get_obj()->get_freezed_ddl_kv(freeze_scn_, ddl_kv_handle))) {
|
||||||
LOG_WARN("get ddl kv handle failed", K(ret), K(freeze_scn_));
|
LOG_WARN("get ddl kv handle failed", K(ret), K(freeze_scn_));
|
||||||
|
if (OB_ENTRY_NOT_EXIST == ret) {
|
||||||
|
ret = OB_NEED_RETRY; // dag is async, the ddl kv may be dumped, no need record in dag warning history
|
||||||
|
}
|
||||||
} else if (OB_ISNULL(ddl_kv = static_cast<ObDDLKV *>(ddl_kv_handle.get_table()))) {
|
} else if (OB_ISNULL(ddl_kv = static_cast<ObDDLKV *>(ddl_kv_handle.get_table()))) {
|
||||||
ret = OB_ERR_UNEXPECTED;
|
ret = OB_ERR_UNEXPECTED;
|
||||||
LOG_WARN("get ddl kv failed", K(ret));
|
LOG_WARN("get ddl kv failed", K(ret));
|
||||||
@ -370,6 +374,9 @@ int ObDDLTableMergeTask::process()
|
|||||||
LOG_INFO("tablet me says with major but no major, meaning its a migrated deleted tablet, skip");
|
LOG_INFO("tablet me says with major but no major, meaning its a migrated deleted tablet, skip");
|
||||||
} else if (OB_FAIL(ddl_kv_mgr_handle.get_obj()->get_ddl_param(ddl_param))) {
|
} else if (OB_FAIL(ddl_kv_mgr_handle.get_obj()->get_ddl_param(ddl_param))) {
|
||||||
LOG_WARN("get tablet ddl param failed", K(ret));
|
LOG_WARN("get tablet ddl param failed", K(ret));
|
||||||
|
if (OB_STATE_NOT_MATCH == ret) {
|
||||||
|
ret = OB_NEED_RETRY;
|
||||||
|
}
|
||||||
} else if (merge_param_.start_scn_ > SCN::min_scn() && merge_param_.start_scn_ < ddl_param.start_scn_) {
|
} else if (merge_param_.start_scn_ > SCN::min_scn() && merge_param_.start_scn_ < ddl_param.start_scn_) {
|
||||||
ret = OB_TASK_EXPIRED;
|
ret = OB_TASK_EXPIRED;
|
||||||
LOG_INFO("ddl merge task expired, do nothing", K(merge_param_), "new_start_scn", ddl_param.start_scn_);
|
LOG_INFO("ddl merge task expired, do nothing", K(merge_param_), "new_start_scn", ddl_param.start_scn_);
|
||||||
|
|||||||
Reference in New Issue
Block a user