diff --git a/src/rootserver/ddl_task/ob_ddl_task.cpp b/src/rootserver/ddl_task/ob_ddl_task.cpp index 26a9a0fb96..496311c608 100644 --- a/src/rootserver/ddl_task/ob_ddl_task.cpp +++ b/src/rootserver/ddl_task/ob_ddl_task.cpp @@ -1592,7 +1592,7 @@ int ObDDLTaskRecordOperator::update_ret_code( if (OB_ISNULL(sql_client.get_pool()) || OB_UNLIKELY(task_id <= 0 || tenant_id <= 0)) { ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid arg", K(ret), K(tenant_id), K(task_id)); - } else if (OB_FAIL(sql_string.assign_fmt(" UPDATE %s SET ret_code=%lu WHERE task_id=%lu ", + } else if (OB_FAIL(sql_string.assign_fmt(" UPDATE %s SET ret_code=%ld WHERE task_id=%lu ", OB_ALL_DDL_TASK_STATUS_TNAME, ret_code, task_id))) { LOG_WARN("assign sql string failed", K(ret), K(ret_code), K(task_id)); } else if (OB_FAIL(sql_client.write(tenant_id, sql_string.ptr(), affected_rows))) { diff --git a/src/rootserver/ob_ddl_operator.cpp b/src/rootserver/ob_ddl_operator.cpp index 8cac381b86..a390dfe5d7 100644 --- a/src/rootserver/ob_ddl_operator.cpp +++ b/src/rootserver/ob_ddl_operator.cpp @@ -2710,7 +2710,6 @@ int ObDDLOperator::delete_single_column(ObMySQLTransaction &trans, } int ObDDLOperator::alter_table_create_index(const ObTableSchema &new_table_schema, - const SCN &frozen_scn, ObIArray &gen_columns, ObTableSchema &index_schema, common::ObMySQLTransaction &trans) diff --git a/src/rootserver/ob_ddl_operator.h b/src/rootserver/ob_ddl_operator.h index 785363dbf4..cd18835f06 100644 --- a/src/rootserver/ob_ddl_operator.h +++ b/src/rootserver/ob_ddl_operator.h @@ -319,7 +319,6 @@ public: common::ObMySQLTransaction &trans, share::schema::ObSchemaGetterGuard &schema_guard); virtual int alter_table_create_index(const share::schema::ObTableSchema &new_table_schema, - const share::SCN &frozen_scn, common::ObIArray &gen_columns, share::schema::ObTableSchema &index_schema, common::ObMySQLTransaction &trans); diff --git a/src/rootserver/ob_ddl_service.cpp b/src/rootserver/ob_ddl_service.cpp index df8ee5d4e7..1816520f91 100644 --- a/src/rootserver/ob_ddl_service.cpp +++ b/src/rootserver/ob_ddl_service.cpp @@ -326,7 +326,6 @@ int ObDDLService::create_user_tables( const ObString &ddl_stmt_str, const ObErrorInfo &error_info, ObIArray &table_schemas, - const SCN &frozen_scn, ObSchemaGetterGuard &schema_guard, const obrpc::ObSequenceDDLArg &sequence_ddl_arg, const uint64_t last_replay_log_id, @@ -381,7 +380,7 @@ int ObDDLService::create_user_tables( if (OB_FAIL(ret)) { //do nothing } else if (OB_FAIL(create_tables_in_trans(if_not_exist, ddl_stmt_str, error_info, table_schemas, - frozen_scn, sequence_ddl_arg, + sequence_ddl_arg, last_replay_log_id, dep_infos, mock_fk_parent_table_schema_array))) { LOG_WARN("create_tables_in_trans failed", K(ret)); } @@ -404,7 +403,6 @@ int ObDDLService::create_inner_expr_index(ObMySQLTransaction &trans, ObTableSchema &new_table_schema, ObIArray &new_columns, ObTableSchema &index_schema, - const SCN &frozen_scn, const ObString *ddl_stmt_str) { int ret = OB_SUCCESS; @@ -481,15 +479,14 @@ int ObDDLService::create_global_index( ObMySQLTransaction &trans, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &table_schema, - share::schema::ObTableSchema &index_schema, - const SCN &frozen_scn) + share::schema::ObTableSchema &index_schema) { int ret = OB_SUCCESS; if (OB_FAIL(check_inner_stat())) { LOG_WARN("variable is not init", K(ret)); } else if (OB_FAIL(table_schema.check_create_index_on_hidden_primary_key(index_schema))) { LOG_WARN("fail to check create global index on table", K(ret), K(index_schema)); - } else if (OB_FAIL(create_index_table(arg, index_schema, frozen_scn, trans))) { + } else if (OB_FAIL(create_index_table(arg, index_schema, trans))) { LOG_WARN("fail to create global index", K(ret)); } return ret; @@ -501,15 +498,14 @@ int ObDDLService::create_global_inner_expr_index( const share::schema::ObTableSchema &orig_table_schema, share::schema::ObTableSchema &new_table_schema, common::ObIArray &new_columns, - share::schema::ObTableSchema &index_schema, - const SCN &frozen_scn) + share::schema::ObTableSchema &index_schema) { int ret = OB_SUCCESS; if (OB_FAIL(check_inner_stat())) { LOG_WARN("variable is not init", K(ret)); } else if (OB_FAIL(create_inner_expr_index(trans, orig_table_schema, new_table_schema, new_columns, index_schema, - frozen_scn, &arg.ddl_stmt_str_))) { + &arg.ddl_stmt_str_))) { LOG_WARN("fail to create inner expr index", K(ret)); } return ret; @@ -519,7 +515,6 @@ int ObDDLService::create_global_inner_expr_index( int ObDDLService::create_index_table( const obrpc::ObCreateIndexArg &arg, ObTableSchema &table_schema, - const SCN &frozen_scn, ObMySQLTransaction &sql_trans) { int ret = OB_SUCCESS; @@ -571,10 +566,9 @@ int ObDDLService::create_index_table( } if (OB_SUCC(ret)) { if (OB_SUCC(ret)) { - if (OB_FAIL(create_table_in_trans(table_schema, frozen_scn, + if (OB_FAIL(create_table_in_trans(table_schema, ddl_stmt_str, &sql_trans, schema_guard))) { - LOG_WARN("create_table_in_trans failed", KR(ret), K(frozen_scn), - K(ddl_stmt_str), K(table_schema)); + LOG_WARN("create_table_in_trans failed", KR(ret), K(ddl_stmt_str), K(table_schema)); } } } @@ -896,8 +890,7 @@ int ObDDLService::try_format_partition_schema(ObPartitionSchema &partition_schem */ int ObDDLService::generate_schema( const ObCreateTableArg &arg, - ObTableSchema &schema, - const SCN &frozen_scn) + ObTableSchema &schema) { int ret = OB_SUCCESS; const ObIArray &constraints = arg.constraint_list_; @@ -1685,13 +1678,11 @@ int ObDDLService::create_tables_in_trans(const bool if_not_exist, const ObString &ddl_stmt_str, const ObErrorInfo &error_info, ObIArray &table_schemas, - const SCN &ref_frozen_scn, const obrpc::ObSequenceDDLArg &sequence_ddl_arg, const uint64_t last_replay_log_id, const ObIArray *dep_infos, ObIArray &mock_fk_parent_table_schema_array) { - UNUSED(ref_frozen_scn); int ret = OB_SUCCESS; ObArenaAllocator allocator(ObModIds::OB_RS_PARTITION_TABLE_TEMP); RS_TRACE(create_tables_in_trans_begin); @@ -2001,12 +1992,10 @@ int ObDDLService::create_tables_in_trans(const bool if_not_exist, // If sql_trans is NULL, it need to create a transaction inside the function. int ObDDLService::create_table_in_trans( ObTableSchema &table_schema, - const SCN &frozen_scn, const ObString *ddl_stmt_str, ObMySQLTransaction *sql_trans, share::schema::ObSchemaGetterGuard &schema_guard) { - UNUSED(frozen_scn); int ret = OB_SUCCESS; if (OB_FAIL(check_inner_stat())) { LOG_WARN("variable is not init"); @@ -2788,7 +2777,6 @@ int ObDDLService::create_hidden_table_with_pk_changed( const ObSArray &index_columns, const ObTableSchema &origin_table_schema, ObTableSchema &new_table_schema, - const SCN &frozen_scn, ObSchemaGetterGuard &schema_guard, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans, @@ -2816,7 +2804,6 @@ int ObDDLService::create_hidden_table_with_pk_changed( &alter_table_arg.sequence_ddl_arg_, bind_tablets, schema_guard, - frozen_scn, ddl_operator, trans, allocator))) { @@ -3542,7 +3529,6 @@ int ObDDLService::alter_table_partition_by( const ObTableSchema &orig_table_schema, ObTableSchema &new_table_schema, ObSchemaGetterGuard &schema_guard, - const SCN &frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans) { @@ -3556,7 +3542,6 @@ int ObDDLService::alter_table_partition_by( &alter_table_arg.sequence_ddl_arg_, bind_tablets, schema_guard, - frozen_scn, ddl_operator, trans, alter_table_arg.allocator_)); @@ -3655,7 +3640,6 @@ int ObDDLService::convert_to_character( const ObTableSchema &orig_table_schema, ObTableSchema &new_table_schema, ObSchemaGetterGuard &schema_guard, - const SCN &frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans) { @@ -3711,7 +3695,6 @@ int ObDDLService::convert_to_character( &alter_table_arg.sequence_ddl_arg_, bind_tablets, schema_guard, - frozen_scn, ddl_operator, trans, alter_table_arg.allocator_)); @@ -3778,7 +3761,6 @@ int ObDDLService::alter_table_primary_key(obrpc::ObAlterTableArg &alter_table_ar const ObTableSchema &origin_table_schema, ObTableSchema &new_table_schema, ObSchemaGetterGuard &schema_guard, - const SCN &frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans, common::ObArenaAllocator &allocator) @@ -3807,7 +3789,6 @@ int ObDDLService::alter_table_primary_key(obrpc::ObAlterTableArg &alter_table_ar index_columns, origin_table_schema, new_table_schema, - frozen_scn, schema_guard, ddl_operator, trans, @@ -3849,7 +3830,6 @@ int ObDDLService::alter_table_primary_key(obrpc::ObAlterTableArg &alter_table_ar index_columns, origin_table_schema, new_table_schema, - frozen_scn, schema_guard, ddl_operator, trans, @@ -4287,8 +4267,7 @@ int ObDDLService::remap_index_tablets_to_new_indexs( const ObTableSchema &hidden_table_schema, ObSchemaGetterGuard &schema_guard, ObSArray &table_schemas, - common::ObMySQLTransaction &trans, - const SCN &frozen_scn) + common::ObMySQLTransaction &trans) { int ret = OB_SUCCESS; int64_t new_schema_version = OB_INVALID_VERSION; @@ -4457,8 +4436,7 @@ int ObDDLService::swap_orig_and_hidden_table_state( } int ObDDLService::remap_index_tablets_and_take_effect( - obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn) + obrpc::ObAlterTableArg &alter_table_arg) { int ret = OB_SUCCESS; ObSArray index_ids; @@ -4492,8 +4470,7 @@ int ObDDLService::remap_index_tablets_and_take_effect( *hidden_table_schema, schema_guard, table_schemas, - trans, - frozen_scn))) { + trans))) { LOG_WARN("fail to remap all index tables to the hidden table", K(ret)); } else if (OB_FAIL(swap_orig_and_hidden_table_state(alter_table_arg, *orig_table_schema, @@ -4772,7 +4749,6 @@ int ObDDLService::alter_table_index(const obrpc::ObAlterTableArg &alter_table_ar const ObTableSchema &origin_table_schema, ObTableSchema &new_table_schema, ObSchemaGetterGuard &schema_guard, - const SCN &frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans, ObArenaAllocator &allocator, @@ -4900,13 +4876,11 @@ int ObDDLService::alter_table_index(const obrpc::ObAlterTableArg &alter_table_ar *create_index_arg, new_table_schema, allocator, gen_columns))) { LOG_WARN("adjust fulltext args failed", K(ret)); } else if (OB_FAIL(index_builder.generate_schema(*create_index_arg, - frozen_scn, new_table_schema, global_index_without_column_info, index_schema))) { LOG_WARN("failed to generate index schema!", K(ret)); } else if (OB_FAIL(ddl_operator.alter_table_create_index(new_table_schema, - frozen_scn, gen_columns, index_schema, trans))) { @@ -7850,7 +7824,6 @@ int ObDDLService::update_prev_id_for_add_column(const ObTableSchema &origin_tabl int ObDDLService::alter_table_column(const ObTableSchema &origin_table_schema, const AlterTableSchema &alter_table_schema, - const SCN &frozen_scn, ObTableSchema &new_table_schema, obrpc::ObAlterTableArg &alter_table_arg, ObSchemaGetterGuard &schema_guard, @@ -9101,7 +9074,6 @@ int ObDDLService::update_global_index(ObAlterTableArg &arg, const uint64_t tenant_id, const ObTableSchema &orig_table_schema, ObDDLOperator &ddl_operator, - const SCN &frozen_scn, ObMySQLTransaction &trans) { int ret = OB_SUCCESS; @@ -9149,7 +9121,7 @@ int ObDDLService::update_global_index(ObAlterTableArg &arg, ObTableSchema new_table_schema; if (OB_FAIL(new_table_schema.assign(*index_table_schema))) { LOG_WARN("fail to assign schema", K(ret)); - } else if (OB_FAIL(rebuild_index_in_trans(schema_guard, new_table_schema, frozen_scn, + } else if (OB_FAIL(rebuild_index_in_trans(schema_guard, new_table_schema, NULL, &trans))) { LOG_WARN("ddl_service_ rebuild_index failed", KR(ret)); } else { @@ -9633,7 +9605,6 @@ int ObDDLService::check_enable_sys_table_ddl(const ObTableSchema &table_schema, // FIXME: this function should move to observer int ObDDLService::alter_table_sess_active_time_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -9683,11 +9654,11 @@ int ObDDLService::alter_table_sess_active_time_in_trans(obrpc::ObAlterTableArg & } else { // offline ddl cannot appear at the same time with other ddl types if (is_long_running_ddl(res.ddl_type_)) { - if (OB_FAIL(do_offline_ddl_in_trans(alter_table_arg, frozen_scn, res))) { + if (OB_FAIL(do_offline_ddl_in_trans(alter_table_arg, res))) { LOG_WARN("failed to do offline ddl in trans", K(ret), K(alter_table_arg));; } } else { - if (OB_FAIL(alter_table_in_trans(alter_table_arg, frozen_scn, res))) { + if (OB_FAIL(alter_table_in_trans(alter_table_arg, res))) { LOG_WARN("refresh sess active time of temporary table failed", K(alter_table_arg), K(ret)); } else { LOG_INFO("a temporary table just refreshed sess active time", K(alter_table_arg)); @@ -9732,7 +9703,6 @@ int ObDDLService::update_tables_attribute(ObIArray &new_table_sc //fix me :Check whether the newly added index column covers the partition column --by rongxuan.lc // It can be repaired after the featrue that add index in alter_table statement int ObDDLService::alter_table_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -9879,7 +9849,6 @@ int ObDDLService::alter_table_in_trans(obrpc::ObAlterTableArg &alter_table_arg, LOG_WARN("fail to can alter column", K(ret), K(alter_table_arg)); } else if (OB_FAIL(alter_table_column(*orig_table_schema, alter_table_schema, - frozen_scn, new_table_schema, alter_table_arg, schema_guard, @@ -9929,7 +9898,6 @@ int ObDDLService::alter_table_in_trans(obrpc::ObAlterTableArg &alter_table_arg, *orig_table_schema, new_table_schema, schema_guard, - frozen_scn, ddl_operator, trans, alter_table_arg.allocator_, @@ -9971,7 +9939,6 @@ int ObDDLService::alter_table_in_trans(obrpc::ObAlterTableArg &alter_table_arg, tenant_id, *orig_table_schema, ddl_operator, - frozen_scn, trans))) { LOG_WARN("update_global_index failed", K(ret)); } else if (OB_FAIL(generate_tables_array(alter_table_arg.alter_part_type_, @@ -10634,7 +10601,6 @@ int ObDDLService::check_ddl_with_primary_key_operation( } int ObDDLService::do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -10690,7 +10656,6 @@ int ObDDLService::do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_ar *orig_table_schema, new_table_schema, schema_guard, - frozen_scn, ddl_operator, trans, alter_table_arg.allocator_))) { @@ -10741,7 +10706,6 @@ int ObDDLService::do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_ar &alter_table_arg.sequence_ddl_arg_, bind_tablets, schema_guard, - frozen_scn, ddl_operator, trans, alter_table_arg.allocator_))) { @@ -10756,7 +10720,6 @@ int ObDDLService::do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_ar *orig_table_schema, new_table_schema, schema_guard, - frozen_scn, ddl_operator, trans))) { LOG_WARN("failed to alter table partition by", K(ret)); @@ -10784,7 +10747,6 @@ int ObDDLService::do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_ar *orig_table_schema, new_table_schema, schema_guard, - frozen_scn, ddl_operator, trans))) { LOG_WARN("failed to convert to character", K(ret)); @@ -11838,7 +11800,6 @@ int ObDDLService::check_add_list_subpartition(const ObPartition &orig_part, cons return ret; } int ObDDLService::alter_table(obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -11921,9 +11882,8 @@ int ObDDLService::alter_table(obrpc::ObAlterTableArg &alter_table_arg, if (OB_SUCC(ret)) { if (is_alter_sess_active_time) { if (OB_FAIL(alter_table_sess_active_time_in_trans(alter_table_arg, - frozen_scn, res))) { - LOG_WARN("alter_table_in_trans failed", K(frozen_scn), K(ret)); + LOG_WARN("alter_table_in_trans failed", K(ret)); } else { LOG_INFO("refresh session active time of temp tables succeed!", K(ret)); } @@ -11932,12 +11892,12 @@ int ObDDLService::alter_table(obrpc::ObAlterTableArg &alter_table_arg, } else { // offline ddl cannot appear at the same time with other ddl types if (is_long_running_ddl(ddl_type)) { - if (OB_FAIL(do_offline_ddl_in_trans(alter_table_arg, frozen_scn, res))) { + if (OB_FAIL(do_offline_ddl_in_trans(alter_table_arg, res))) { LOG_WARN("failed to do offline ddl in trans", K(ret), K(alter_table_arg), K(ddl_type)); } } else { - if (OB_FAIL(alter_table_in_trans(alter_table_arg, frozen_scn, res))) { - LOG_WARN("alter_table_in_trans failed", K(frozen_scn), K(ret)); + if (OB_FAIL(alter_table_in_trans(alter_table_arg, res))) { + LOG_WARN("alter_table_in_trans failed", K(ret)); } } } @@ -13124,7 +13084,6 @@ int ObDDLService::is_foreign_key_name_prefix_match(const ObForeignKeyInfo &origi } int ObDDLService::prepare_hidden_table_schema(const ObTableSchema &orig_table_schema, - const SCN &frozen_scn, ObIAllocator &allocator, ObTableSchema &hidden_table_schema) { @@ -13230,7 +13189,6 @@ int ObDDLService::create_user_hidden_table(const ObTableSchema &orig_table_schem const obrpc::ObSequenceDDLArg *sequence_ddl_arg, const bool bind_tablets, ObSchemaGetterGuard &schema_guard, - const SCN &ref_frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans, ObIAllocator &allocator) @@ -13251,7 +13209,6 @@ int ObDDLService::create_user_hidden_table(const ObTableSchema &orig_table_schem } else if (OB_FAIL(check_is_add_identity_column(orig_table_schema, hidden_table_schema, is_add_identity_column))) { LOG_WARN("failed to check is add identity column", K(ret)); } else if (OB_FAIL(prepare_hidden_table_schema(orig_table_schema, - ref_frozen_scn, allocator, hidden_table_schema))) { LOG_WARN("failed to prepare hidden table schema", K(ret)); @@ -13572,7 +13529,6 @@ int ObDDLService::add_new_index_schema(obrpc::ObAlterTableArg &alter_table_arg, const share::schema::ObTableSchema &orig_table_schema, const ObTableSchema &hidden_table_schema, ObSchemaGetterGuard &schema_guard, - const SCN &frozen_scn, ObSArray &new_table_schemas, ObSArray &index_ids) { @@ -13688,7 +13644,6 @@ int ObDDLService::add_new_index_schema(obrpc::ObAlterTableArg &alter_table_arg, *create_index_arg, new_table_schema, alter_table_arg.allocator_, gen_columns))) { LOG_WARN("adjust fulltext args failed", K(ret)); } else if (OB_FAIL(index_builder.generate_schema(*create_index_arg, - frozen_scn, new_table_schema, global_index_without_column_info, index_schema))) { @@ -13825,7 +13780,6 @@ int ObDDLService::reconstruct_index_schema(const ObTableSchema &orig_table_schem const common::ObIArray &drop_cols_id_arr, const ObColumnNameMap &col_name_map, const common::ObTimeZoneInfo &tz_info, - const SCN &frozen_scn, ObIAllocator &allocator, ObSArray &new_table_schemas, ObSArray &index_ids) @@ -13997,7 +13951,6 @@ int ObDDLService::rebuild_hidden_table_index_in_trans( } int ObDDLService::rebuild_hidden_table_index(obrpc::ObAlterTableArg &alter_table_arg, - const SCN &frozen_scn, ObSArray &index_ids) { int ret = OB_SUCCESS; @@ -14042,7 +13995,6 @@ int ObDDLService::rebuild_hidden_table_index(obrpc::ObAlterTableArg &alter_table drop_cols_id_arr, col_name_map, *tz_info_wrap.get_time_zone_info(), - frozen_scn, alter_table_arg.allocator_, new_table_schemas, index_ids))) { @@ -14051,7 +14003,6 @@ int ObDDLService::rebuild_hidden_table_index(obrpc::ObAlterTableArg &alter_table *orig_table_schema, *hidden_table_schema, schema_guard, - frozen_scn, new_table_schemas, index_ids))) { LOG_WARN("failed to add new index schema", K(ret)); @@ -15971,7 +15922,6 @@ int ObDDLService::rebuild_table_schema_with_new_id(const ObTableSchema &orig_tab const int64_t session_id, const share::schema::ObTableType table_type_, ObSchemaService &schema_service, - const SCN &frozen_scn, ObIArray &new_schemas, ObArenaAllocator &allocator, const uint64_t define_user_id) @@ -16156,8 +16106,7 @@ int ObDDLService::rebuild_table_schema_with_new_id(const ObTableSchema &orig_tab return ret; } -int ObDDLService::create_table_like(const ObCreateTableLikeArg &arg, - const SCN &frozen_scn) +int ObDDLService::create_table_like(const ObCreateTableLikeArg &arg) { int ret = OB_SUCCESS; ObSchemaGetterGuard schema_guard; @@ -16258,7 +16207,6 @@ int ObDDLService::create_table_like(const ObCreateTableLikeArg &arg, arg.session_id_, arg.table_type_, *schema_service, - frozen_scn, table_schemas, allocator, arg.define_user_id_))) { @@ -16300,7 +16248,6 @@ int ObDDLService::create_table_like(const ObCreateTableLikeArg &arg, arg.ddl_stmt_str_, error_info, table_schemas, - frozen_scn, schema_guard, arg.sequence_ddl_arg_, 0, @@ -18380,7 +18327,7 @@ int ObDDLService::drop_table(const ObDropTableArg &drop_table_arg, const obrpc:: return ret; } -int ObDDLService::rebuild_index(const ObRebuildIndexArg &arg, const SCN &frozen_scn, obrpc::ObAlterTableRes &res) +int ObDDLService::rebuild_index(const ObRebuildIndexArg &arg, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; const uint64_t tenant_id = arg.tenant_id_; @@ -18452,7 +18399,6 @@ int ObDDLService::rebuild_index(const ObRebuildIndexArg &arg, const SCN &frozen_ LOG_WARN("fail to assign schema", KR(ret)); } else if (OB_FAIL(rebuild_index_in_trans(schema_guard, new_table_schema, - frozen_scn, &ddl_stmt_str, &trans))) { LOG_WARN("ddl_service_ rebuild_index failed", K(tenant_id), KR(ret)); @@ -18507,7 +18453,6 @@ int ObDDLService::rebuild_index(const ObRebuildIndexArg &arg, const SCN &frozen_ int ObDDLService::rebuild_index_in_trans( ObSchemaGetterGuard &schema_guard, ObTableSchema &index_schema, - const SCN &frozen_scn, const ObString *ddl_stmt_str, ObMySQLTransaction *sql_trans) { @@ -18542,9 +18487,9 @@ int ObDDLService::rebuild_index_in_trans( if (OB_FAIL(ret)) { } else if (OB_FAIL(generate_tablet_id(index_schema))) { LOG_WARN("failed to generate tablet id", K(ret)); - } else if (OB_FAIL(create_table_in_trans(index_schema, frozen_scn, + } else if (OB_FAIL(create_table_in_trans(index_schema, ddl_stmt_str, &trans, schema_guard))) { - LOG_WARN("create_table_in_trans failed", K(index_schema), KR(ret), K(frozen_scn), K(ddl_stmt_str)); + LOG_WARN("create_table_in_trans failed", K(index_schema), KR(ret), K(ddl_stmt_str)); } if (OB_ISNULL(sql_trans) && trans.is_started()) { @@ -18718,7 +18663,6 @@ int ObDDLService::create_system_table_( { int ret = OB_SUCCESS; bool if_not_exist = true; - SCN frozen_scn = SCN::min_scn(); ObArray table_schemas; // the following variable is not used ObString ddl_stmt_str; @@ -18730,11 +18674,8 @@ int ObDDLService::create_system_table_( // sys index、sys lob table will be added in create_user_tables() if (OB_FAIL(table_schemas.push_back(hard_code_schema))) { LOG_WARN("fail to push back new table schema", KR(ret)); - } else if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn( - hard_code_schema.get_tenant_id(), frozen_scn))) { - LOG_WARN("get_frozen_scn failed", KR(ret), "tenant_id", hard_code_schema.get_tenant_id()); } else if (OB_FAIL(create_user_tables(if_not_exist, ddl_stmt_str, - error_info, table_schemas, frozen_scn, schema_guard, sequence_ddl_arg, + error_info, table_schemas, schema_guard, sequence_ddl_arg, last_replay_log_id, &dep_infos, mock_fk_parent_table_schema_array))) { LOG_WARN("fail to create system table", KR(ret), K(hard_code_schema)); } @@ -18828,7 +18769,7 @@ int ObDDLService::add_table_schema( int ret = OB_SUCCESS; if (OB_FAIL(check_inner_stat())) { LOG_WARN("variable is not init", KR(ret)); - } else if (OB_FAIL(create_table_in_trans(table_schema, SCN::min_scn(), NULL, NULL, schema_guard))) { + } else if (OB_FAIL(create_table_in_trans(table_schema, NULL, NULL, schema_guard))) { LOG_WARN("create_table_in_trans failed", KR(ret), K(table_schema)); } return ret; diff --git a/src/rootserver/ob_ddl_service.h b/src/rootserver/ob_ddl_service.h index aefdeb8267..f8841acd9d 100644 --- a/src/rootserver/ob_ddl_service.h +++ b/src/rootserver/ob_ddl_service.h @@ -126,16 +126,13 @@ public: // create_index_table will fill table_id and frozen_version to table_schema virtual int create_index_table(const obrpc::ObCreateIndexArg &arg, share::schema::ObTableSchema &table_schema, - const share::SCN &frozen_scn, ObMySQLTransaction &sql_trans); int rebuild_index(const obrpc::ObRebuildIndexArg &arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int rebuild_index_in_trans(share::schema::ObSchemaGetterGuard &schema_guard, share::schema::ObTableSchema &table_schema, - const share::SCN &frozen_scn, const ObString *ddl_stmt_str, ObMySQLTransaction *sql_trans); @@ -144,7 +141,6 @@ public: share::schema::ObTableSchema &new_table_schema, common::ObIArray &new_columns, share::schema::ObTableSchema &index_schema, - const share::SCN &frozen_scn, const common::ObString *ddl_stmt_str); // check whether the foreign key related table is executing offline ddl, creating index, and constrtaint task. // And ddl should be refused if the foreign key related table is executing above ddl. @@ -154,16 +150,14 @@ public: ObMySQLTransaction &trans, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &table_schema, - share::schema::ObTableSchema &index_schema, - const share::SCN &frozen_scn); + share::schema::ObTableSchema &index_schema); int create_global_inner_expr_index( ObMySQLTransaction &trans, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &orig_table_schema, share::schema::ObTableSchema &new_table_schema, common::ObIArray &new_columns, - share::schema::ObTableSchema &index_schema, - const share::SCN &frozen_scn); + share::schema::ObTableSchema &index_schema); template int check_primary_zone_locality_condition( const SCHEMA &schema, @@ -203,18 +197,15 @@ public: const common::ObString &ddl_stmt_str, const share::schema::ObErrorInfo &error_info, common::ObIArray &table_schemas, - const share::SCN &frozen_scn, share::schema::ObSchemaGetterGuard &schema_guard, const obrpc::ObSequenceDDLArg &sequence_ddl_arg, const uint64_t last_replay_log_id, const common::ObIArray *dependency_infos, ObIArray &mock_fk_parent_table_schema_array); - virtual int create_table_like(const obrpc::ObCreateTableLikeArg &arg, - const share::SCN &frozen_scn); + virtual int create_table_like(const obrpc::ObCreateTableLikeArg &arg); virtual int alter_table(obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); virtual int drop_table(const obrpc::ObDropTableArg &drop_table_arg, const obrpc::ObDDLRes &res); int check_table_exists(const uint64_t tenant_id, @@ -257,8 +248,7 @@ public: virtual int alter_tablegroup(const obrpc::ObAlterTablegroupArg &arg); virtual int try_format_partition_schema(share::schema::ObPartitionSchema &table_schema); virtual int generate_schema(const obrpc::ObCreateTableArg &arg, - share::schema::ObTableSchema &schema, - const share::SCN &frozen_scn); + share::schema::ObTableSchema &schema); int create_index_tablet(const ObTableSchema &index_schema, ObMySQLTransaction &trans, share::schema::ObSchemaGetterGuard &schema_guard); @@ -266,7 +256,6 @@ public: const share::schema::ObTableSchema &orgin_table_schema, share::schema::ObTableSchema &new_table_schema, share::schema::ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObDDLOperator &ddl_operator, ObMySQLTransaction &trans, common::ObArenaAllocator &allocator, @@ -283,7 +272,6 @@ public: int alter_table_column( const share::schema::ObTableSchema &origin_table_schema, const share::schema::AlterTableSchema & alter_table_schema, - const share::SCN &frozen_scn, share::schema::ObTableSchema &new_table_schema, obrpc::ObAlterTableArg &alter_table_arg, share::schema::ObSchemaGetterGuard &schema_guard, @@ -494,7 +482,6 @@ public: * @param [out] index_ids: new index table id */ int rebuild_hidden_table_index(obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn, common::ObSArray &index_ids); /** * This function is called by the storage layer in the fourth stage of offline ddl @@ -556,7 +543,6 @@ public: const common::ObSArray &index_columns, const share::schema::ObTableSchema &orgin_table_schema, share::schema::ObTableSchema &new_table_schema, - const share::SCN &frozen_scn, share::schema::ObSchemaGetterGuard &schema_guard, ObDDLOperator &ddl_operator, common::ObMySQLTransaction &trans, @@ -924,8 +910,7 @@ public: const ObTableSchema &hidden_table_schema, ObSchemaGetterGuard &schema_guard, ObSArray &table_schemas, - common::ObMySQLTransaction &trans, - const share::SCN &frozen_scn); + common::ObMySQLTransaction &trans); int swap_orig_and_hidden_table_state( obrpc::ObAlterTableArg &alter_table_arg, const ObTableSchema &orig_table_schema, @@ -935,8 +920,7 @@ public: common::ObMySQLTransaction &trans, ObSArray &new_table_schemas); int remap_index_tablets_and_take_effect( - obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn); + obrpc::ObAlterTableArg &alter_table_arg); int update_autoinc_schema(obrpc::ObAlterTableArg &alter_table_arg); int build_aux_lob_table_schema_if_need(ObTableSchema &data_table_schema, ObIArray &table_schemas); @@ -1028,7 +1012,6 @@ private: const uint64_t tenant_id, const share::schema::ObTableSchema &orig_table_schema, ObDDLOperator &ddl_operator, - const share::SCN &frozen_scn, ObMySQLTransaction &trans); int fill_interval_info_for_set_interval(const ObTableSchema &orig_table_schema, ObTableSchema &new_table_schema, @@ -1067,7 +1050,6 @@ private: template int set_default_tablegroup_id(SCHEMA &schema); int create_table_in_trans(share::schema::ObTableSchema &table_schema, - const share::SCN &frozen_scn, const common::ObString *ddl_stmt_str, ObMySQLTransaction *sql_trans, share::schema::ObSchemaGetterGuard &schema_guard); @@ -1166,7 +1148,6 @@ private: const common::ObString &ddl_stmt_str, const share::schema::ObErrorInfo &error_info, common::ObIArray &table_schemas, - const share::SCN &frozen_scn, const obrpc::ObSequenceDDLArg &sequence_ddl_arg, const uint64_t last_replay_log_id, const common::ObIArray *dep_infos, @@ -1183,7 +1164,6 @@ private: const share::schema::ObSchemaOperationType operation_type, const common::ObString &ddl_stmt_str); int alter_table_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int need_modify_not_null_constraint_validate(const obrpc::ObAlterTableArg &alter_table_arg, bool &is_add_not_null_col, @@ -1198,7 +1178,6 @@ private: int check_ddl_with_primary_key_operation(const obrpc::ObAlterTableArg &alter_table_arg, bool &with_primary_key_operation); int do_offline_ddl_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int gen_new_index_table_name( const common::ObString &orig_index_table_name, @@ -1223,7 +1202,6 @@ private: const obrpc::ObSequenceDDLArg *sequence_ddl_arg, const bool bind_tablets, share::schema::ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObDDLOperator &ddl_operator, common::ObMySQLTransaction &trans, common::ObIAllocator &allocator); @@ -1258,7 +1236,6 @@ private: common::ObIAllocator &allocator); int prepare_hidden_table_schema( const share::schema::ObTableSchema &orig_table_schema, - const share::SCN &frozen_scn, common::ObIAllocator &allocator, share::schema::ObTableSchema &hidden_table_schema); int rebuild_hidden_table_priv( @@ -1318,7 +1295,6 @@ private: const share::schema::ObTableSchema &orgin_table_schema, share::schema::ObTableSchema &new_table_schema, share::schema::ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObDDLOperator &ddl_operator, common::ObMySQLTransaction &trans, common::ObArenaAllocator &allocator); @@ -1326,7 +1302,6 @@ private: const share::schema::ObTableSchema &orgin_table_schema, share::schema::ObTableSchema &new_table_schema, share::schema::ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObDDLOperator &ddl_operator, common::ObMySQLTransaction &trans); int convert_to_character_for_partition(const ObCollationType &to_collation, @@ -1335,7 +1310,6 @@ private: const share::schema::ObTableSchema &orgin_table_schema, share::schema::ObTableSchema &new_table_schema, share::schema::ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObDDLOperator &ddl_operator, common::ObMySQLTransaction &trans); int check_alter_table_constraint( @@ -1408,7 +1382,6 @@ private: const share::schema::ObTableSchema &orig_table_schema, const ObTableSchema &hidden_table_schema, ObSchemaGetterGuard &schema_guard, - const share::SCN &frozen_scn, ObSArray &new_table_schemas, ObSArray &index_ids); int check_index_table_need_rebuild( @@ -1423,7 +1396,6 @@ private: const common::ObIArray &drop_cols_id_arr, const share::ObColumnNameMap &col_name_map, const common::ObTimeZoneInfo &tz_info, - const share::SCN &frozen_scn, common::ObIAllocator &allocator, common::ObSArray &new_table_schemas, common::ObSArray &index_ids); @@ -1434,7 +1406,6 @@ private: share::schema::ObTableSchema &new_table_schema, share::schema::ObTableSchema &index_schema); int alter_table_sess_active_time_in_trans(obrpc::ObAlterTableArg &alter_table_arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int truncate_table_in_trans(const obrpc::ObTruncateTableArg &arg, const share::schema::ObTableSchema &orig_table_schema, @@ -1969,7 +1940,6 @@ private: const int64_t session_id, const share::schema::ObTableType table_type_, share::schema::ObSchemaService &schema_service, - const share::SCN &frozen_scn, common::ObIArray &new_scheams, common::ObArenaAllocator &allocator, const uint64_t define_user_id); diff --git a/src/rootserver/ob_index_builder.cpp b/src/rootserver/ob_index_builder.cpp index 81f6e7ad47..c1d5198f4c 100644 --- a/src/rootserver/ob_index_builder.cpp +++ b/src/rootserver/ob_index_builder.cpp @@ -69,19 +69,18 @@ ObIndexBuilder::~ObIndexBuilder() int ObIndexBuilder::create_index( const ObCreateIndexArg &arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; - LOG_INFO("start create index", K(arg), K(frozen_scn)); + LOG_INFO("start create index", K(arg)); if (!ddl_service_.is_inited()) { ret = OB_INNER_STAT_ERROR; LOG_WARN("ddl_service not init", "ddl_service inited", ddl_service_.is_inited(), K(ret)); - } else if (!arg.is_valid() || !frozen_scn.is_valid()) { + } else if (!arg.is_valid()) { ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid arg", K(arg), K(frozen_scn), K(ret)); - } else if (OB_FAIL(do_create_index(arg, frozen_scn, res))) { - LOG_WARN("generate_schema failed", K(arg), K(frozen_scn), K(ret)); + LOG_WARN("invalid arg", K(arg), K(ret)); + } else if (OB_FAIL(do_create_index(arg, res))) { + LOG_WARN("generate_schema failed", K(arg), K(ret)); } if (OB_ERR_TABLE_EXIST == ret) { if (true == arg.if_not_exist_) { @@ -92,7 +91,7 @@ int ObIndexBuilder::create_index( LOG_USER_ERROR(OB_ERR_KEY_NAME_DUPLICATE, arg.index_name_.length(), arg.index_name_.ptr()); } } - LOG_INFO("finish create index", K(arg), K(frozen_scn), K(ret)); + LOG_INFO("finish create index", K(arg), K(ret)); return ret; } @@ -243,7 +242,6 @@ int ObIndexBuilder::do_create_global_index( share::schema::ObSchemaGetterGuard &schema_guard, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &table_schema, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -275,17 +273,17 @@ int ObIndexBuilder::do_create_global_index( new_arg, new_table_schema, allocator, gen_columns))) { LOG_WARN("fail to adjust expr index args", K(ret)); } else if (OB_FAIL(generate_schema( - new_arg, frozen_scn, new_table_schema, global_index_without_column_info, index_schema))) { - LOG_WARN("fail to generate schema", K(ret), K(frozen_scn), K(new_arg)); + new_arg, new_table_schema, global_index_without_column_info, index_schema))) { + LOG_WARN("fail to generate schema", K(ret), K(new_arg)); } else { if (gen_columns.empty()) { if (OB_FAIL(ddl_service_.create_global_index( - trans, new_arg, new_table_schema, index_schema, frozen_scn))) { + trans, new_arg, new_table_schema, index_schema))) { LOG_WARN("fail to create global index", K(ret)); } } else { if (OB_FAIL(ddl_service_.create_global_inner_expr_index( - trans, new_arg, table_schema, new_table_schema, gen_columns, index_schema, frozen_scn))) { + trans, new_arg, table_schema, new_table_schema, gen_columns, index_schema))) { LOG_WARN("fail to create global inner expr index", K(ret)); } } @@ -389,7 +387,6 @@ int ObIndexBuilder::do_create_local_index( share::schema::ObSchemaGetterGuard &schema_guard, const obrpc::ObCreateIndexArg &create_index_arg, const share::schema::ObTableSchema &table_schema, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -430,13 +427,13 @@ int ObIndexBuilder::do_create_local_index( my_arg, new_table_schema, allocator, gen_columns))) { LOG_WARN("fail to adjust expr index args", K(ret)); } else if (OB_FAIL(generate_schema( - my_arg, frozen_scn, new_table_schema, global_index_without_column_info, index_schema))) { - LOG_WARN("fail to generate schema", K(ret), K(frozen_scn), K(my_arg)); + my_arg, new_table_schema, global_index_without_column_info, index_schema))) { + LOG_WARN("fail to generate schema", K(ret), K(my_arg)); } else if (OB_FAIL(new_table_schema.check_create_index_on_hidden_primary_key(index_schema))) { LOG_WARN("failed to check create index on table", K(ret), K(index_schema)); } else if (gen_columns.empty()) { - if (OB_FAIL(ddl_service_.create_index_table(my_arg, index_schema, frozen_scn, trans))) { - LOG_WARN("fail to create index", K(ret), K(frozen_scn), K(index_schema)); + if (OB_FAIL(ddl_service_.create_index_table(my_arg, index_schema, trans))) { + LOG_WARN("fail to create index", K(ret), K(index_schema)); } } else { if (OB_FAIL(ddl_service_.create_inner_expr_index(trans, @@ -444,7 +441,6 @@ int ObIndexBuilder::do_create_local_index( new_table_schema, gen_columns, index_schema, - frozen_scn, &my_arg.ddl_stmt_str_))) { LOG_WARN("fail to create inner expr index", K(ret)); } @@ -487,7 +483,6 @@ int ObIndexBuilder::do_create_local_index( // and table_name, which will used for getting data table schema in generate_schema int ObIndexBuilder::do_create_index( const ObCreateIndexArg &arg, - const SCN &frozen_scn, obrpc::ObAlterTableRes &res) { int ret = OB_SUCCESS; @@ -501,9 +496,9 @@ int ObIndexBuilder::do_create_index( if (!ddl_service_.is_inited()) { ret = OB_INNER_STAT_ERROR; LOG_WARN("ddl_service not init", "ddl_service inited", ddl_service_.is_inited(), K(ret)); - } else if (!arg.is_valid() || !frozen_scn.is_valid_and_not_min()) { + } else if (!arg.is_valid()) { ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(arg), K(frozen_scn), K(ret)); + LOG_WARN("invalid argument", K(arg), K(ret)); } else if (OB_FAIL(ddl_service_.get_tenant_schema_guard_with_version_in_inner_table(tenant_id, schema_guard))) { LOG_WARN("get_schema_guard failed", K(ret)); } else if (OB_FAIL(schema_guard.get_table_schema( @@ -538,18 +533,18 @@ int ObIndexBuilder::do_create_index( } else if (INDEX_TYPE_NORMAL_LOCAL == arg.index_type_ || INDEX_TYPE_UNIQUE_LOCAL == arg.index_type_ || INDEX_TYPE_DOMAIN_CTXCAT == arg.index_type_) { - if (OB_FAIL(do_create_local_index(schema_guard, arg, *table_schema, frozen_scn, res))) { + if (OB_FAIL(do_create_local_index(schema_guard, arg, *table_schema, res))) { LOG_WARN("fail to do create local index", K(ret), K(arg)); } } else if (INDEX_TYPE_NORMAL_GLOBAL == arg.index_type_ || INDEX_TYPE_UNIQUE_GLOBAL == arg.index_type_) { if (!table_schema->is_partitioned_table() && !arg.index_schema_.is_partitioned_table()) { // create a global index with local storage when both the data table and index table are non-partitioned - if (OB_FAIL(do_create_local_index(schema_guard, arg, *table_schema, frozen_scn, res))) { + if (OB_FAIL(do_create_local_index(schema_guard, arg, *table_schema, res))) { LOG_WARN("fail to do create local index", K(ret)); } } else { - if (OB_FAIL(do_create_global_index(schema_guard, arg, *table_schema, frozen_scn, res))) { + if (OB_FAIL(do_create_global_index(schema_guard, arg, *table_schema, res))) { LOG_WARN("fail to do create global index", K(ret)); } } @@ -579,7 +574,6 @@ int ObIndexBuilder::do_create_index( */ int ObIndexBuilder::generate_schema( const ObCreateIndexArg &arg, - const SCN &frozen_scn, ObTableSchema &data_schema, const bool global_index_without_column_info, ObTableSchema &schema) @@ -587,12 +581,12 @@ int ObIndexBuilder::generate_schema( int ret = OB_SUCCESS; // some items in arg may be invalid, don't check arg here(when create table with index, alter // table add index) - if (!ddl_service_.is_inited()) { + if (OB_UNLIKELY(!ddl_service_.is_inited())) { ret = OB_INNER_STAT_ERROR; LOG_WARN("ddl_service not init", "ddl_service inited", ddl_service_.is_inited(), K(ret)); - } else if (!frozen_scn.is_valid_and_not_min() || !data_schema.is_valid()) { + } else if (OB_UNLIKELY(!data_schema.is_valid())) { ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(frozen_scn), K(data_schema), K(ret)); + LOG_WARN("invalid argument", K(ret), K(data_schema)); } if (OB_SUCC(ret)) { @@ -727,8 +721,8 @@ int ObIndexBuilder::generate_schema( const bool need_generate_index_schema_column = (is_index_local_storage || global_index_without_column_info); schema.set_table_mode(data_schema.get_table_mode_flag()); schema.set_table_state_flag(data_schema.get_table_state_flag()); - if (OB_FAIL(set_basic_infos(arg, frozen_scn, data_schema, schema))) { - LOG_WARN("set_basic_infos failed", K(arg), K(frozen_scn), K(data_schema), K(ret)); + if (OB_FAIL(set_basic_infos(arg, data_schema, schema))) { + LOG_WARN("set_basic_infos failed", K(arg), K(data_schema), K(ret)); } else if (need_generate_index_schema_column && OB_FAIL(set_index_table_columns(arg, data_schema, schema))) { LOG_WARN("set_index_table_columns failed", K(arg), K(data_schema), K(ret)); @@ -755,7 +749,6 @@ int ObIndexBuilder::generate_schema( } int ObIndexBuilder::set_basic_infos(const ObCreateIndexArg &arg, - const SCN &frozen_scn, const ObTableSchema &data_schema, ObTableSchema &schema) { @@ -773,10 +766,10 @@ int ObIndexBuilder::set_basic_infos(const ObCreateIndexArg &arg, } else if (OB_ISNULL(database)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("database_schema is null", K(ret), "database_id", data_schema.get_database_id()); - } else if (!frozen_scn.is_valid_and_not_min() || !data_schema.is_valid()) { + } else if (!data_schema.is_valid()) { // some items in arg may be invalid, don't check arg ret = OB_INVALID_ARGUMENT; - LOG_WARN("invalid argument", K(frozen_scn), K(data_schema), K(ret)); + LOG_WARN("invalid argument", K(data_schema), K(ret)); } else { ObString index_table_name = arg.index_name_; ObArenaAllocator allocator(ObModIds::OB_SCHEMA); diff --git a/src/rootserver/ob_index_builder.h b/src/rootserver/ob_index_builder.h index 119bb3d9df..45a02de33f 100644 --- a/src/rootserver/ob_index_builder.h +++ b/src/rootserver/ob_index_builder.h @@ -56,7 +56,6 @@ public: virtual ~ObIndexBuilder(); int create_index(const obrpc::ObCreateIndexArg &arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int drop_index(const obrpc::ObDropIndexArg &arg, obrpc::ObDropIndexRes &res); @@ -64,22 +63,18 @@ public: // if not all index table updated return OB_EAGAIN. int do_create_index( const obrpc::ObCreateIndexArg &arg, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int do_create_global_index( share::schema::ObSchemaGetterGuard &schema_guard, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &table_schema, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int do_create_local_index( share::schema::ObSchemaGetterGuard &schema_guard, const obrpc::ObCreateIndexArg &arg, const share::schema::ObTableSchema &table_schema, - const share::SCN &frozen_scn, obrpc::ObAlterTableRes &res); int generate_schema(const obrpc::ObCreateIndexArg &arg, - const share::SCN &frozen_scn, share::schema::ObTableSchema &data_schema, const bool global_index_without_column_info, share::schema::ObTableSchema &index_schema); @@ -110,7 +105,6 @@ private: }; int set_basic_infos(const obrpc::ObCreateIndexArg &arg, - const share::SCN &frozen_scn, const share::schema::ObTableSchema &data_schema, share::schema::ObTableSchema &schema); int set_index_table_columns(const obrpc::ObCreateIndexArg &arg, diff --git a/src/rootserver/ob_root_service.cpp b/src/rootserver/ob_root_service.cpp index cff649984e..2f6a3a5209 100644 --- a/src/rootserver/ob_root_service.cpp +++ b/src/rootserver/ob_root_service.cpp @@ -2925,7 +2925,6 @@ int ObRootService::create_table(const ObCreateTableArg &arg, ObCreateTableRes &r LOG_WARN("invalid arg", K(arg), K(ret)); } else { ObArray table_schemas; - SCN frozen_scn; ObSchemaGetterGuard schema_guard; const ObDatabaseSchema *db_schema = NULL; schema_guard.set_session_id(arg.schema_.get_session_id()); @@ -2938,9 +2937,6 @@ int ObRootService::create_table(const ObCreateTableArg &arg, ObCreateTableRes &r } else if (OB_ISNULL(schema_service)) { ret = OB_ERR_UNEXPECTED; LOG_WARN("schema_service is null", KP(schema_service), K(ret)); - } else if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn( - table_schema.get_tenant_id(), frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret)); } else if (OB_FAIL(generate_table_schema_in_tenant_space(arg, table_schema))) { LOG_WARN("fail to generate table schema in tenant space", K(ret), K(arg)); } else if (OB_FAIL(ddl_service_.get_tenant_schema_guard_with_version_in_inner_table( @@ -3089,8 +3085,8 @@ int ObRootService::create_table(const ObCreateTableArg &arg, ObCreateTableRes &r //do nothing } else if (OB_FAIL(mock_fk_parent_table_map.create(16, "MockFKParentTbl"))) { LOG_WARN("fail to create mock_fk_parent_table_map", K(ret)); - } else if (OB_FAIL(ddl_service_.generate_schema(arg, table_schema, frozen_scn))) { - LOG_WARN("generate_schema for table failed", K(frozen_scn), K(ret)); + } else if (OB_FAIL(ddl_service_.generate_schema(arg, table_schema))) { + LOG_WARN("generate_schema for table failed", K(ret)); //} else if (OB_FAIL(check_rs_capacity(table_schema, can_hold_new_table))) { // LOG_WARN("fail to check rs capacity", K(ret), K(table_schema)); //} else if (!can_hold_new_table) { @@ -3135,11 +3131,10 @@ int ObRootService::create_table(const ObCreateTableArg &arg, ObCreateTableRes &r } else if (OB_FAIL(ObIndexBuilderUtil::adjust_expr_index_args(index_arg, table_schema, *allocator, gen_columns))) { LOG_WARN("fail to adjust expr index args", K(ret)); } else if (OB_FAIL(index_builder.generate_schema(index_arg, - frozen_scn, table_schema, global_index_without_column_info, index_schema))) { - LOG_WARN("generate_schema for index failed", K(index_arg), K(frozen_scn), K(table_schema), K(ret)); + LOG_WARN("generate_schema for index failed", K(index_arg), K(table_schema), K(ret)); } if (OB_SUCC(ret)) { uint64_t new_table_id = OB_INVALID_ID; @@ -3420,14 +3415,13 @@ int ObRootService::create_table(const ObCreateTableArg &arg, ObCreateTableRes &r arg.ddl_stmt_str_, arg.error_info_, table_schemas, - frozen_scn, schema_guard, arg.sequence_ddl_arg_, arg.last_replay_log_id_, &arg.dep_infos_, mock_fk_parent_table_schema_array))) { LOG_WARN("create_user_tables failed", "if_not_exist", arg.if_not_exist_, - "ddl_stmt_str", arg.ddl_stmt_str_, K(frozen_scn), K(ret)); + "ddl_stmt_str", arg.ddl_stmt_str_, K(ret)); } } if (OB_ERR_TABLE_EXIST == ret) { @@ -3675,20 +3669,17 @@ int ObRootService::execute_ddl_task(const obrpc::ObAlterTableArg &arg, { LOG_DEBUG("receive execute ddl task arg", K(arg)); int ret = OB_SUCCESS; - SCN frozen_scn; if (!inited_) { ret = OB_NOT_INIT; LOG_WARN("not init", K(ret)); } else if (!arg.is_valid()) { ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid arg", K(arg), K(ret)); - } else if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn(arg.exec_tenant_id_, frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret), K(arg)); } else { switch (arg.ddl_task_type_) { case share::REBUILD_INDEX_TASK: { if (OB_FAIL(ddl_service_.rebuild_hidden_table_index( - const_cast(arg), frozen_scn, obj_ids))) { + const_cast(arg), obj_ids))) { LOG_WARN("failed to rebuild hidden table index", K(ret)); } break; @@ -3737,7 +3728,7 @@ int ObRootService::execute_ddl_task(const obrpc::ObAlterTableArg &arg, // remap all index tables to hidden table and take effect concurrently. case share::REMAP_INDEXES_AND_TAKE_EFFECT_TASK: { if (OB_FAIL(ddl_service_.remap_index_tablets_and_take_effect( - const_cast(arg), frozen_scn))) { + const_cast(arg)))) { LOG_WARN("fail to remap index tables to hidden table and take effect", K(ret)); } break; @@ -3858,10 +3849,7 @@ int ObRootService::alter_table(const obrpc::ObAlterTableArg &arg, obrpc::ObAlter LOG_WARN("fail to precheck_interval_part", K(arg), KR(ret)); } } else { - SCN frozen_scn; if (OB_FAIL(ret)) { - } else if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn(tenant_id, frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret), K(arg)); } else if (OB_FAIL(ddl_service_.get_tenant_schema_guard_with_version_in_inner_table(tenant_id, schema_guard))) { LOG_WARN("get schema guard in inner table failed", K(ret)); } else if (OB_FAIL(check_parallel_ddl_conflict(schema_guard, arg))) { @@ -3916,8 +3904,8 @@ int ObRootService::alter_table(const obrpc::ObAlterTableArg &arg, obrpc::ObAlter res.task_id_ = task_record.task_id_; } } - } else if (OB_FAIL(ddl_service_.alter_table(nonconst_arg, frozen_scn, res))) { - LOG_WARN("alter_user_table failed", K(arg), K(frozen_scn), K(ret)); + } else if (OB_FAIL(ddl_service_.alter_table(nonconst_arg, res))) { + LOG_WARN("alter_user_table failed", K(arg), K(ret)); } else { const ObSimpleTableSchemaV2 *simple_table_schema = NULL; // there are multiple DDL except alter table, ctas, comment on, eg. @@ -3951,16 +3939,13 @@ int ObRootService::create_index(const ObCreateIndexArg &arg, obrpc::ObAlterTable ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid arg", K(arg), K(ret)); } else { - SCN frozen_scn; ObIndexBuilder index_builder(ddl_service_); if (OB_FAIL(ddl_service_.get_tenant_schema_guard_with_version_in_inner_table(arg.tenant_id_, schema_guard))) { LOG_WARN("get schema guard in inner table failed", K(ret)); } else if (OB_FAIL(check_parallel_ddl_conflict(schema_guard, arg))) { LOG_WARN("check parallel ddl conflict failed", K(ret)); - } else if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn(arg.tenant_id_, frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret), K(arg)); - } else if (OB_FAIL(index_builder.create_index(arg, frozen_scn, res))) { - LOG_WARN("create_index failed", K(arg), K(frozen_scn), K(ret)); + } else if (OB_FAIL(index_builder.create_index(arg, res))) { + LOG_WARN("create_index failed", K(arg), K(ret)); } } return ret; @@ -4187,14 +4172,8 @@ int ObRootService::rebuild_index(const obrpc::ObRebuildIndexArg &arg, obrpc::ObA } else if (!arg.is_valid()) { ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid arg", K(arg), K(ret)); - } else { - SCN frozen_scn; - if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn(arg.tenant_id_, frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret)); - } else if (OB_FAIL(ddl_service_.rebuild_index(arg, frozen_scn, res))) { - LOG_WARN("ddl_service rebuild index failed", K(arg), K(ret)); - } - + } else if (OB_FAIL(ddl_service_.rebuild_index(arg, res))) { + LOG_WARN("ddl_service rebuild index failed", K(arg), K(ret)); } return ret; } @@ -4311,10 +4290,7 @@ int ObRootService::create_table_like(const ObCreateTableLikeArg &arg) ret = OB_INVALID_ARGUMENT; LOG_WARN("invalid arg", K(arg), K(ret)); } else { - SCN frozen_scn; - if (OB_FAIL(ObMajorFreezeHelper::get_frozen_scn(arg.tenant_id_, frozen_scn))) { - LOG_WARN("get_frozen_scn failed", K(ret)); - } else if (OB_FAIL(ddl_service_.create_table_like(arg, frozen_scn))) { + if (OB_FAIL(ddl_service_.create_table_like(arg))) { if (OB_ERR_TABLE_EXIST == ret) { //create table xx if not exist like if (arg.if_not_exist_) {