提交 a67707fb 编写于 作者: C callmezhuoran 提交者: ob-robot

fix bug, should not skip write finish log even if major already exist

上级 7875d6a5
......@@ -1713,6 +1713,10 @@ int ObSSDDLMergeHelper::update_major_table_store(ObDDLTabletMergeDagParamV2 &dag
LOG_INFO("major already exist on shared tablet, skip update shared tablet", K(ret), K(table_key), K(target_ls_id));
} else if (OB_FAIL(ObSSDDLUtil::update_shared_tablet_table_store(ls_handle, *out_sstable, *tablet_param->storage_schema_, dag_merge_param.ddl_task_param_.tenant_data_version_, transfer_scn))) {
LOG_WARN("failed to update shared tablet", K(ret), K(target_ls_id), K(target_tablet_id));
}
/* cannot skip write finish log, even if major already exist */
if (OB_FAIL(ret)) {
} else if (OB_FAIL(write_ddl_finish_log(dag_merge_param, out_sstable))) {
LOG_WARN("write ddl finish log fail", K(ret));
} else if (OB_FAIL(MTL(observer::ObTabletTableUpdater*)->submit_tablet_update_task(target_ls_id, target_tablet_id))) {
......
......@@ -874,7 +874,10 @@ int ObTabletTableStore::calculate_ddl_read_tables(
{
int ret = OB_SUCCESS;
base_table = nullptr;
if (ddl_sstables_.count() > 0
if (GCTX.is_shared_storage_mode()) {
ret = OB_REPLICA_NOT_READABLE;
LOG_WARN("shared storage mode don't need to calculate ddl read tables", K(ret), K(tablet));
} else if (ddl_sstables_.count() > 0
&& OB_NOT_NULL(ddl_sstables_.at(0))
&& ddl_sstables_.at(0)->is_ddl_merge_sstable()
&& !ObDDLUtil::need_rescan_column_store(tablet.get_tablet_meta().ddl_data_format_version_)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册