use the latest start scn to allocate ddl kv.
This commit is contained in:
@ -378,7 +378,6 @@ int ObComplementDataContext::write_start_log(const ObComplementDataParam ¶m)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
ObITable::TableKey hidden_table_key;
|
||||
SCN start_scn;
|
||||
if (OB_UNLIKELY(!is_inited_)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("ObComplementDataContext not init", K(ret));
|
||||
@ -396,8 +395,11 @@ int ObComplementDataContext::write_start_log(const ObComplementDataParam ¶m)
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("unexpected err", K(ret), K(MTL_ID()));
|
||||
} else if (OB_FAIL(tenant_direct_load_mgr->open_tablet_direct_load(true, /*is_full_direct_load*/
|
||||
param.dest_ls_id_, param.dest_tablet_id_, context_id_, start_scn, tablet_direct_load_mgr_handle_))) {
|
||||
param.dest_ls_id_, param.dest_tablet_id_, context_id_, start_scn_, tablet_direct_load_mgr_handle_))) {
|
||||
LOG_WARN("write ddl start log failed", K(ret));
|
||||
} else if (OB_UNLIKELY(!start_scn_.is_valid_and_not_min())) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("invalid start scn", K(ret), K(start_scn_));
|
||||
}
|
||||
LOG_INFO("complement task start ddl redo success", K(ret), K(param));
|
||||
}
|
||||
@ -1367,10 +1369,13 @@ int ObComplementWriteTask::append_row(ObScan *scan)
|
||||
} else if (OB_UNLIKELY(!direct_load_hdl.get_full_obj()->get_start_scn().is_valid_and_not_min())) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("unexpected err", K(ret), K(direct_load_hdl.get_full_obj()->get_start_scn()));
|
||||
} else if (OB_UNLIKELY(context_->start_scn_ != direct_load_hdl.get_full_obj()->get_start_scn())) {
|
||||
ret = OB_TASK_EXPIRED;
|
||||
LOG_WARN("task expired", K(ret), K(context_->start_scn_), "start_scn", direct_load_hdl.get_full_obj()->get_start_scn());
|
||||
} else if (OB_FAIL(callback.init(DDL_MB_DATA_TYPE,
|
||||
hidden_table_key,
|
||||
param_->task_id_,
|
||||
direct_load_hdl.get_full_obj()->get_start_scn(),
|
||||
context_->start_scn_,
|
||||
param_->data_format_version_,
|
||||
&sstable_redo_writer))) {
|
||||
LOG_WARN("fail to init data callback", K(ret), K(hidden_table_key));
|
||||
|
||||
Reference in New Issue
Block a user