occupy position for columns in __all_ddl_error_message

This commit is contained in:
simonjoylet 2023-11-02 13:14:29 +00:00 committed by ob-robot
parent 44523be159
commit c7c4b471e5
9 changed files with 136 additions and 16 deletions

View File

@ -557,7 +557,9 @@ int ObInnerTableSchema::tenant_virtual_table_column_schema(ObTableSchema &table_
}
if (OB_SUCC(ret)) {
ADD_COLUMN_SCHEMA("is_hidden", //column_name
ObObj is_hidden_default;
is_hidden_default.set_int(0);
ADD_COLUMN_SCHEMA_T("is_hidden", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
@ -568,7 +570,9 @@ int ObInnerTableSchema::tenant_virtual_table_column_schema(ObTableSchema &table_
-1, //column_precision
-1, //column_scale
false, //is_nullable
false); //is_autoincrement
false, //is_autoincrement
is_hidden_default,
is_hidden_default); //default_value
}
table_schema.set_index_using_type(USING_HASH);
table_schema.set_row_store_type(ENCODING_ROW_STORE);
@ -930,7 +934,9 @@ int ObInnerTableSchema::tenant_virtual_table_index_schema(ObTableSchema &table_s
}
if (OB_SUCC(ret)) {
ADD_COLUMN_SCHEMA("is_column_visible", //column_name
ObObj is_column_visible_default;
is_column_visible_default.set_int(0);
ADD_COLUMN_SCHEMA_T("is_column_visible", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
@ -941,7 +947,9 @@ int ObInnerTableSchema::tenant_virtual_table_index_schema(ObTableSchema &table_s
-1, //column_precision
-1, //column_scale
false, //is_nullable
false); //is_autoincrement
false, //is_autoincrement
is_column_visible_default,
is_column_visible_default); //default_value
}
table_schema.set_index_using_type(USING_HASH);
table_schema.set_row_store_type(ENCODING_ROW_STORE);

View File

@ -2639,6 +2639,44 @@ int ObInnerTableSchema::all_virtual_ddl_error_message_schema(ObTableSchema &tabl
true, //is_nullable
false); //is_autoincrement
}
if (OB_SUCC(ret)) {
ObObj parent_task_id_default;
parent_task_id_default.set_int(0);
ADD_COLUMN_SCHEMA_T("parent_task_id", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObIntType, //column_type
CS_TYPE_INVALID, //column_collation_type
sizeof(int64_t), //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
false, //is_autoincrement
parent_task_id_default,
parent_task_id_default); //default_value
}
if (OB_SUCC(ret)) {
ObObj trace_id_default;
trace_id_default.set_null();
ADD_COLUMN_SCHEMA_T("trace_id", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_TRACE_ID_BUFFER_SIZE, //column_length
-1, //column_precision
-1, //column_scale
true, //is_nullable
false, //is_autoincrement
trace_id_default,
trace_id_default); //default_value
}
table_schema.set_index_using_type(USING_BTREE);
table_schema.set_row_store_type(ENCODING_ROW_STORE);
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);

View File

@ -5442,6 +5442,21 @@ int ObInnerTableSchema::tenant_virtual_table_index_agent_schema(ObTableSchema &t
true, //is_nullable
false); //is_autoincrement
}
if (OB_SUCC(ret)) {
ADD_COLUMN_SCHEMA("IS_COLUMN_VISIBLE", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObNumberType, //column_type
CS_TYPE_INVALID, //column_collation_type
38, //column_length
38, //column_precision
0, //column_scale
false, //is_nullable
false); //is_autoincrement
}
table_schema.set_index_using_type(USING_HASH);
table_schema.set_row_store_type(ENCODING_ROW_STORE);
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);

View File

@ -378,11 +378,11 @@ int ObInnerTableSchema::tenant_virtual_table_column_ora_schema(ObTableSchema &ta
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObIntType, //column_type
ObNumberType, //column_type
CS_TYPE_INVALID, //column_collation_type
sizeof(int64_t), //column_length
-1, //column_precision
-1, //column_scale
38, //column_length
38, //column_precision
0, //column_scale
false, //is_nullable
false); //is_autoincrement
}

View File

@ -835,6 +835,44 @@ int ObInnerTableSchema::all_ddl_error_message_schema(ObTableSchema &table_schema
true, //is_nullable
false); //is_autoincrement
}
if (OB_SUCC(ret)) {
ObObj parent_task_id_default;
parent_task_id_default.set_int(0);
ADD_COLUMN_SCHEMA_T("parent_task_id", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObIntType, //column_type
CS_TYPE_INVALID, //column_collation_type
sizeof(int64_t), //column_length
-1, //column_precision
-1, //column_scale
false, //is_nullable
false, //is_autoincrement
parent_task_id_default,
parent_task_id_default); //default_value
}
if (OB_SUCC(ret)) {
ObObj trace_id_default;
trace_id_default.set_null();
ADD_COLUMN_SCHEMA_T("trace_id", //column_name
++column_id, //column_id
0, //rowkey_id
0, //index_id
0, //part_key_pos
ObVarcharType, //column_type
CS_TYPE_INVALID, //column_collation_type
OB_MAX_TRACE_ID_BUFFER_SIZE, //column_length
-1, //column_precision
-1, //column_scale
true, //is_nullable
false, //is_autoincrement
trace_id_default,
trace_id_default); //default_value
}
table_schema.set_index_using_type(USING_BTREE);
table_schema.set_row_store_type(ENCODING_ROW_STORE);
table_schema.set_store_format(OB_STORE_FORMAT_DYNAMIC_MYSQL);

View File

@ -2795,6 +2795,8 @@ def_table_schema(
('affected_rows', 'int'),
('user_message', 'longtext', 'true'),
('dba_message', 'varchar:OB_MAX_ERROR_MSG_LEN', 'true'),
('parent_task_id', 'int', 'false', 0),
('trace_id', 'varchar:OB_MAX_TRACE_ID_BUFFER_SIZE', 'true', 'NULL')
],
)

View File

@ -3829,11 +3829,11 @@ DEF_TO_STRING(ObSwitchLeaderArg)
OB_SERIALIZE_MEMBER(ObSwitchLeaderArg, ls_id_, role_, tenant_id_, dest_server_);
OB_SERIALIZE_MEMBER(ObLSTabletPair, ls_id_, tablet_id_);
OB_SERIALIZE_MEMBER(ObCheckSchemaVersionElapsedArg, tenant_id_, schema_version_, need_wait_trans_end_, tablets_);
OB_SERIALIZE_MEMBER(ObCheckSchemaVersionElapsedArg, tenant_id_, schema_version_, need_wait_trans_end_, tablets_, ddl_task_id_);
bool ObCheckSchemaVersionElapsedArg::is_valid() const
{
bool bret = OB_INVALID_ID != tenant_id_ && schema_version_ > 0 && !tablets_.empty();
bool bret = OB_INVALID_ID != tenant_id_ && schema_version_ > 0 && !tablets_.empty() && ddl_task_id_ >= 0;
for (int64_t i = 0; bret && i < tablets_.count(); ++i) {
bret = tablets_.at(i).is_valid();
}
@ -3846,11 +3846,12 @@ void ObCheckSchemaVersionElapsedArg::reuse()
schema_version_ = 0;
need_wait_trans_end_ = true;
tablets_.reuse();
ddl_task_id_ = 0;
}
bool ObCheckModifyTimeElapsedArg::is_valid() const
{
bool bret = OB_INVALID_ID != tenant_id_ && sstable_exist_ts_ > 0;
bool bret = OB_INVALID_ID != tenant_id_ && sstable_exist_ts_ > 0 && ddl_task_id_ >= 0;
for (int64_t i = 0; bret && i < tablets_.count(); ++i) {
bret = tablets_.at(i).is_valid();
}
@ -3876,9 +3877,10 @@ void ObCheckModifyTimeElapsedArg::reuse()
tenant_id_ = OB_INVALID_ID;
sstable_exist_ts_ = 0;
tablets_.reuse();
ddl_task_id_ = 0;
}
OB_SERIALIZE_MEMBER(ObCheckModifyTimeElapsedArg, tenant_id_, sstable_exist_ts_, tablets_);
OB_SERIALIZE_MEMBER(ObCheckModifyTimeElapsedArg, tenant_id_, sstable_exist_ts_, tablets_, ddl_task_id_);
bool ObCheckSchemaVersionElapsedResult::is_valid() const
{

View File

@ -4421,16 +4421,17 @@ struct ObCheckSchemaVersionElapsedArg final
OB_UNIS_VERSION(1);
public:
ObCheckSchemaVersionElapsedArg()
: tenant_id_(), schema_version_(0), need_wait_trans_end_(true)
: tenant_id_(), schema_version_(0), need_wait_trans_end_(true), ddl_task_id_(0)
{}
bool is_valid() const;
void reuse();
TO_STRING_KV(K_(tenant_id), K_(schema_version), K_(need_wait_trans_end), K_(tablets));
TO_STRING_KV(K_(tenant_id), K_(schema_version), K_(need_wait_trans_end), K_(tablets), K_(ddl_task_id));
uint64_t tenant_id_;
int64_t schema_version_;
bool need_wait_trans_end_;
ObSEArray<ObLSTabletPair, 10> tablets_;
int64_t ddl_task_id_;
};
struct ObDDLCheckTabletMergeStatusArg final
@ -4464,13 +4465,14 @@ struct ObCheckModifyTimeElapsedArg final
{
OB_UNIS_VERSION(1);
public:
ObCheckModifyTimeElapsedArg() : tenant_id_(OB_INVALID_ID), sstable_exist_ts_(0) {}
ObCheckModifyTimeElapsedArg() : tenant_id_(OB_INVALID_ID), sstable_exist_ts_(0), ddl_task_id_(0) {}
bool is_valid() const;
void reuse();
TO_STRING_KV(K_(tenant_id), K_(sstable_exist_ts), K_(tablets));
TO_STRING_KV(K_(tenant_id), K_(sstable_exist_ts), K_(tablets), K_(ddl_task_id));
uint64_t tenant_id_;
int64_t sstable_exist_ts_;
ObSEArray<ObLSTabletPair, 10> tablets_;
int64_t ddl_task_id_;
};
struct ObCheckTransElapsedResult final

View File

@ -984,6 +984,16 @@ DEF_CAP(px_task_size, OB_CLUSTER_PARAMETER, "2M", "[2M,)", "to be removed",
DEF_INT(_max_elr_dependent_trx_count, OB_CLUSTER_PARAMETER, "0", "[0,)", "max elr dependent transaction count",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
ERRSIM_DEF_INT_LIST(errsim_ddl_sim_point_random_control, OB_TENANT_PARAMETER, "",
"the ddl sim point param in errsim mode, once set successfully, no more modifications"
"format like: seed; point_count_per_task",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
ERRSIM_DEF_INT_LIST(errsim_ddl_sim_point_fixed_list, OB_TENANT_PARAMETER, "",
"the fixed ddl sim point list in errsim mode, "
"format like: point_id_1; point_id_2; point_id_3",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
ERRSIM_DEF_INT(errsim_max_backup_retry_count, OB_CLUSTER_PARAMETER, "0", "[0,)",
"max backup retry count in errsim mode"
"Range: [0,) in integer",
@ -1063,6 +1073,11 @@ ERRSIM_DEF_INT(errsim_max_restore_retry_count, OB_CLUSTER_PARAMETER, "0", "[0,)"
"Range: [0,) in integer",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
ERRSIM_DEF_TIME(errsim_ddl_major_delay_time, OB_CLUSTER_PARAMETER, "1800s", "[0s,3600s]",
"ddl create major sstable delay time in errsim mode, Range [0s,3600s]. "
"The default value is 120s",
ObParameterAttr(Section::OBSERVER, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
#ifdef TRANS_MODULE_TEST
DEF_INT(module_test_trx_memory_errsim_percentage, OB_CLUSTER_PARAMETER, "0", "[0, 100]",
"the percentage of memory errsim. Rang:[0,100]",