Upgrade the version 3.1.4 to 3.1.5
This commit is contained in:
parent
07592637a7
commit
4a71740484
@ -4,7 +4,7 @@ include(cmake/Utils.cmake)
|
||||
include(cmake/Env.cmake)
|
||||
|
||||
project("OceanBase CE"
|
||||
VERSION 3.1.4
|
||||
VERSION 3.1.5
|
||||
DESCRIPTION "OceanBase distributed database system"
|
||||
HOMEPAGE_URL "https://open.oceanbase.com/"
|
||||
LANGUAGES CXX C ASM)
|
||||
|
@ -17,10 +17,10 @@ list(APPEND CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "/home/admin/oceanbase
|
||||
set(CPACK_PACKAGE_NAME "oceanbase-ce")
|
||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "OceanBase CE is a distributed relational database")
|
||||
set(CPACK_PACKAGE_VENDOR "Ant Group CO., Ltd.")
|
||||
set(CPACK_PACKAGE_VERSION 3.1.4)
|
||||
set(CPACK_PACKAGE_VERSION 3.1.5)
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR 3)
|
||||
set(CPACK_PACKAGE_VERSION_MINOR 1)
|
||||
set(CPACK_PACKAGE_VERSION_PATCH 4)
|
||||
set(CPACK_PACKAGE_VERSION_PATCH 5)
|
||||
set(CPACK_RPM_PACKAGE_GROUP "Applications/Databases")
|
||||
set(CPACK_RPM_PACKAGE_URL "https://open.oceanbase.com")
|
||||
set(CPACK_RPM_PACKAGE_DESCRIPTION "OceanBase CE is a distributed relational database")
|
||||
|
@ -96,11 +96,12 @@ uint64_t cal_version(const uint64_t major, const uint64_t minor, const uint64_t
|
||||
#define CLUSTER_VERSION_312 (oceanbase::common::cal_version(3, 1, 2))
|
||||
#define CLUSTER_VERSION_313 (oceanbase::common::cal_version(3, 1, 3))
|
||||
#define CLUSTER_VERSION_314 (oceanbase::common::cal_version(3, 1, 4))
|
||||
#define CLUSTER_VERSION_315 (oceanbase::common::cal_version(3, 1, 5))
|
||||
#define CLUSTER_VERSION_MAX UINT64_MAX
|
||||
// FIXME If you update the above version, please update me, CLUSTER_CURRENT_VERSION & ObUpgradeChecker!!!!!!
|
||||
|
||||
//!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
#define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_314
|
||||
#define CLUSTER_CURRENT_VERSION CLUSTER_VERSION_315
|
||||
#define GET_MIN_CLUSTER_VERSION() (oceanbase::common::ObClusterVersion::get_instance().get_cluster_version())
|
||||
#define GET_UNIS_CLUSTER_VERSION() (::oceanbase::lib::get_unis_compat_version() ?: GET_MIN_CLUSTER_VERSION())
|
||||
|
||||
|
@ -33,7 +33,8 @@ const uint64_t ObUpgradeChecker::UPGRADE_PATH[CLUTER_VERSION_NUM] = {
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 1UL), //3.1.1
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 2UL), //3.1.2
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 3UL), //3.1.3
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 4UL) //3.1.4
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 4UL), //3.1.4
|
||||
CALC_CLUSTER_VERSION(3UL, 1UL, 5UL) //3.1.5
|
||||
};
|
||||
|
||||
bool ObUpgradeChecker::check_cluster_version_exist(const uint64_t version)
|
||||
@ -1092,6 +1093,7 @@ int ObUpgradeProcesserSet::init(ObBaseUpgradeProcessor::UpgradeMode mode, common
|
||||
INIT_PROCESSOR_BY_VERSION(3, 1, 2);
|
||||
INIT_PROCESSOR_BY_VERSION(3, 1, 3);
|
||||
INIT_PROCESSOR_BY_VERSION(3, 1, 4);
|
||||
INIT_PROCESSOR_BY_VERSION(3, 1, 5);
|
||||
#undef INIT_PROCESSOR_BY_VERSION
|
||||
inited_ = true;
|
||||
}
|
||||
|
@ -181,7 +181,7 @@ public:
|
||||
static bool check_cluster_version_exist(const uint64_t version);
|
||||
|
||||
public:
|
||||
static const int64_t CLUTER_VERSION_NUM = 4;
|
||||
static const int64_t CLUTER_VERSION_NUM = 5;
|
||||
static const uint64_t UPGRADE_PATH[CLUTER_VERSION_NUM];
|
||||
};
|
||||
|
||||
@ -234,6 +234,7 @@ DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 1);
|
||||
DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 2);
|
||||
DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 3);
|
||||
DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 4);
|
||||
DEF_SIMPLE_UPGRARD_PROCESSER(3, 1, 5);
|
||||
|
||||
/* =========== upgrade processor end ============= */
|
||||
|
||||
|
@ -528,7 +528,7 @@ DEF_TIME(get_leader_candidate_rpc_timeout, OB_CLUSTER_PARAMETER, "9s", "[2s, 180
|
||||
"the time during a get leader candidate rpc request "
|
||||
"is permitted to execute before it is terminated. Range: [2s, 180s]",
|
||||
ObParameterAttr(Section::ROOT_SERVICE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
||||
DEF_STR(min_observer_version, OB_CLUSTER_PARAMETER, "3.1.4", "the min observer version",
|
||||
DEF_STR(min_observer_version, OB_CLUSTER_PARAMETER, "3.1.5", "the min observer version",
|
||||
ObParameterAttr(Section::ROOT_SERVICE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
|
||||
DEF_BOOL(enable_ddl, OB_CLUSTER_PARAMETER, "True",
|
||||
"specifies whether DDL operation is turned on. "
|
||||
|
@ -2727,10 +2727,13 @@ int ObHashJoinOp::get_next_probe_partition()
|
||||
ret = OB_ITER_END;
|
||||
} else if (!part_histograms_[cur_full_right_partition_].empty()) {
|
||||
if (right_splitter_.is_valid()) {
|
||||
HashJoinHistogram::HistPrefixArray* prefix_hist_count = right_splitter_.part_histogram_.prefix_hist_count2_;
|
||||
if (OB_ISNULL(right_splitter_.part_histogram_.h2_) || OB_ISNULL(prefix_hist_count)) {
|
||||
HashJoinHistogram::HistPrefixArray *prefix_hist_count = right_splitter_.part_histogram_.prefix_hist_count2_;
|
||||
if (0 == right_splitter_.get_total_row_count()) {
|
||||
ret = OB_ITER_END;
|
||||
LOG_DEBUG("hj_part_array_ has no row in memory", K(ret));
|
||||
} else if (OB_ISNULL(right_splitter_.part_histogram_.h2_) || OB_ISNULL(prefix_hist_count)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("h2 is null", K(ret));
|
||||
LOG_WARN("h2 is null", K(ret), K(level1_part_count_), K(level2_part_count_), K(part_count));
|
||||
} else {
|
||||
if (cur_full_right_partition_ >= prefix_hist_count->count()) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
@ -2770,7 +2773,7 @@ int ObHashJoinOp::get_next_probe_partition()
|
||||
}
|
||||
}
|
||||
}
|
||||
} while (cur_full_right_partition_ < part_count);
|
||||
} while (OB_SUCC(ret) && cur_full_right_partition_ < part_count);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -111,123 +111,6 @@ class EachTenantDDLActionPostCreateAllTenantBackupBackupLogArchiveStatus(BaseEac
|
||||
#这两行之间的这些action,如果不写在这两行之间的话会导致清空不掉相应的action。
|
||||
|
||||
####========******####======== actions begin ========####******========####
|
||||
class EachTenantDDLActionPostCreateAllKvTTLTasks(BaseEachTenantDDLAction):
|
||||
@staticmethod
|
||||
def get_seq_num():
|
||||
return 0
|
||||
def dump_before_do_action(self):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
def check_before_do_action(self):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
if len(results) > 0:
|
||||
raise MyError('__all_kv_ttl_task already created')
|
||||
def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
def skip_pre_check(self):
|
||||
return True
|
||||
def skip_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
return (1 == len(results))
|
||||
def check_before_do_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
if len(results) > 0:
|
||||
raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task'.format(tenant_id))
|
||||
@staticmethod
|
||||
def get_each_tenant_action_ddl(tenant_id):
|
||||
pure_table_id = 410
|
||||
table_id = (tenant_id << 40) | pure_table_id
|
||||
return """CREATE TABLE `__all_kv_ttl_task` (
|
||||
`gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
`gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`tenant_id` bigint(20) NOT NULL,
|
||||
`task_id` bigint(20) NOT NULL,
|
||||
`table_id` bigint(20) NOT NULL,
|
||||
`partition_id` bigint(20) NOT NULL,
|
||||
`task_start_time` bigint(20) NOT NULL,
|
||||
`task_update_time` bigint(20) NOT NULL,
|
||||
`trigger_type` bigint(20) NOT NULL,
|
||||
`status` bigint(20) NOT NULL,
|
||||
`ttl_del_cnt` bigint(20) NOT NULL,
|
||||
`max_version_del_cnt` bigint(20) NOT NULL,
|
||||
`scan_cnt` bigint(20) NOT NULL,
|
||||
`row_key` varbinary(2048) NOT NULL,
|
||||
`ret_code` varchar(512) NOT NULL,
|
||||
PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
@staticmethod
|
||||
def get_each_tenant_rollback_sql(tenant_id):
|
||||
return """select 1"""
|
||||
def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
def check_after_do_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
if len(results) != 1:
|
||||
raise MyError('tenant_id:{0} create table __all_kv_ttl_task failed'.format(tenant_id))
|
||||
def dump_after_do_action(self):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
def check_after_do_action(self):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
if len(results) != len(self.get_tenant_id_list()):
|
||||
raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
|
||||
class EachTenantDDLActionPostCreateAllKvTTLTaskHistory(BaseEachTenantDDLAction):
|
||||
@staticmethod
|
||||
def get_seq_num():
|
||||
return 1
|
||||
def dump_before_do_action(self):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
def skip_pre_check(self):
|
||||
return True
|
||||
def skip_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
return (1 == len(results))
|
||||
def check_before_do_action(self):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
if len(results) > 0:
|
||||
raise MyError('__all_kv_ttl_task_history already created')
|
||||
def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
def check_before_do_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
if len(results) > 0:
|
||||
raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task_history'.format(tenant_id))
|
||||
@staticmethod
|
||||
def get_each_tenant_action_ddl(tenant_id):
|
||||
pure_table_id = 411
|
||||
table_id = (tenant_id << 40) | pure_table_id
|
||||
return """CREATE TABLE `__all_kv_ttl_task_history` (
|
||||
`gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
`gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
`tenant_id` bigint(20) NOT NULL,
|
||||
`task_id` bigint(20) NOT NULL,
|
||||
`table_id` bigint(20) NOT NULL,
|
||||
`partition_id` bigint(20) NOT NULL,
|
||||
`task_start_time` bigint(20) NOT NULL,
|
||||
`task_update_time` bigint(20) NOT NULL,
|
||||
`trigger_type` bigint(20) NOT NULL,
|
||||
`status` bigint(20) NOT NULL,
|
||||
`ttl_del_cnt` bigint(20) NOT NULL,
|
||||
`max_version_del_cnt` bigint(20) NOT NULL,
|
||||
`scan_cnt` bigint(20) NOT NULL,
|
||||
`row_key` varbinary(2048) NOT NULL,
|
||||
`ret_code` varchar(512) NOT NULL,
|
||||
PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
@staticmethod
|
||||
def get_each_tenant_rollback_sql(tenant_id):
|
||||
return """select 1"""
|
||||
def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
def check_after_do_each_tenant_action(self, tenant_id):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
if len(results) != 1:
|
||||
raise MyError('tenant_id:{0} create table __all_kv_ttl_task_history failed'.format(tenant_id))
|
||||
def dump_after_do_action(self):
|
||||
my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
def check_after_do_action(self):
|
||||
(desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
if len(results) != len(self.get_tenant_id_list()):
|
||||
raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task_history, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
####========******####========= actions end =========####******========####
|
||||
|
||||
def do_each_tenant_ddl_actions(cur, tenant_id_list):
|
||||
|
@ -29,3 +29,6 @@
|
||||
- version: 3.1.4
|
||||
can_be_upgraded_to:
|
||||
- 3.1.5
|
||||
- version: 3.1.5
|
||||
can_be_upgraded_to:
|
||||
- 3.1.6
|
||||
|
@ -17,7 +17,7 @@ def do_special_upgrade(conn, cur, tenant_id_list, user, pwd):
|
||||
#因为基准版本更新的时候会调用reset_upgrade_scripts.py来清空actions begin和actions end
|
||||
#这两行之间的这些代码,如果不写在这两行之间的话会导致清空不掉相应的代码。
|
||||
####========******####======== actions begin ========####******========####
|
||||
run_upgrade_job(conn, cur, "3.1.4")
|
||||
run_upgrade_job(conn, cur, "3.1.5")
|
||||
return
|
||||
####========******####========= actions end =========####******========####
|
||||
|
||||
|
@ -1115,123 +1115,6 @@
|
||||
##这两行之间的这些action,如果不写在这两行之间的话会导致清空不掉相应的action。
|
||||
#
|
||||
#####========******####======== actions begin ========####******========####
|
||||
#class EachTenantDDLActionPostCreateAllKvTTLTasks(BaseEachTenantDDLAction):
|
||||
# @staticmethod
|
||||
# def get_seq_num():
|
||||
# return 0
|
||||
# def dump_before_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# def check_before_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('__all_kv_ttl_task already created')
|
||||
# def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def skip_pre_check(self):
|
||||
# return True
|
||||
# def skip_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# return (1 == len(results))
|
||||
# def check_before_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task'.format(tenant_id))
|
||||
# @staticmethod
|
||||
# def get_each_tenant_action_ddl(tenant_id):
|
||||
# pure_table_id = 410
|
||||
# table_id = (tenant_id << 40) | pure_table_id
|
||||
# return """CREATE TABLE `__all_kv_ttl_task` (
|
||||
# `gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
# `gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
# `tenant_id` bigint(20) NOT NULL,
|
||||
# `task_id` bigint(20) NOT NULL,
|
||||
# `table_id` bigint(20) NOT NULL,
|
||||
# `partition_id` bigint(20) NOT NULL,
|
||||
# `task_start_time` bigint(20) NOT NULL,
|
||||
# `task_update_time` bigint(20) NOT NULL,
|
||||
# `trigger_type` bigint(20) NOT NULL,
|
||||
# `status` bigint(20) NOT NULL,
|
||||
# `ttl_del_cnt` bigint(20) NOT NULL,
|
||||
# `max_version_del_cnt` bigint(20) NOT NULL,
|
||||
# `scan_cnt` bigint(20) NOT NULL,
|
||||
# `row_key` varbinary(2048) NOT NULL,
|
||||
# `ret_code` varchar(512) NOT NULL,
|
||||
# PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
# ) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
# @staticmethod
|
||||
# def get_each_tenant_rollback_sql(tenant_id):
|
||||
# return """select 1"""
|
||||
# def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_after_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) != 1:
|
||||
# raise MyError('tenant_id:{0} create table __all_kv_ttl_task failed'.format(tenant_id))
|
||||
# def dump_after_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# def check_after_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# if len(results) != len(self.get_tenant_id_list()):
|
||||
# raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
#
|
||||
#class EachTenantDDLActionPostCreateAllKvTTLTaskHistory(BaseEachTenantDDLAction):
|
||||
# @staticmethod
|
||||
# def get_seq_num():
|
||||
# return 1
|
||||
# def dump_before_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# def skip_pre_check(self):
|
||||
# return True
|
||||
# def skip_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# return (1 == len(results))
|
||||
# def check_before_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('__all_kv_ttl_task_history already created')
|
||||
# def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_before_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task_history'.format(tenant_id))
|
||||
# @staticmethod
|
||||
# def get_each_tenant_action_ddl(tenant_id):
|
||||
# pure_table_id = 411
|
||||
# table_id = (tenant_id << 40) | pure_table_id
|
||||
# return """CREATE TABLE `__all_kv_ttl_task_history` (
|
||||
# `gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
# `gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
# `tenant_id` bigint(20) NOT NULL,
|
||||
# `task_id` bigint(20) NOT NULL,
|
||||
# `table_id` bigint(20) NOT NULL,
|
||||
# `partition_id` bigint(20) NOT NULL,
|
||||
# `task_start_time` bigint(20) NOT NULL,
|
||||
# `task_update_time` bigint(20) NOT NULL,
|
||||
# `trigger_type` bigint(20) NOT NULL,
|
||||
# `status` bigint(20) NOT NULL,
|
||||
# `ttl_del_cnt` bigint(20) NOT NULL,
|
||||
# `max_version_del_cnt` bigint(20) NOT NULL,
|
||||
# `scan_cnt` bigint(20) NOT NULL,
|
||||
# `row_key` varbinary(2048) NOT NULL,
|
||||
# `ret_code` varchar(512) NOT NULL,
|
||||
# PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
# ) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
# @staticmethod
|
||||
# def get_each_tenant_rollback_sql(tenant_id):
|
||||
# return """select 1"""
|
||||
# def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_after_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) != 1:
|
||||
# raise MyError('tenant_id:{0} create table __all_kv_ttl_task_history failed'.format(tenant_id))
|
||||
# def dump_after_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# def check_after_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# if len(results) != len(self.get_tenant_id_list()):
|
||||
# raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task_history, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
#####========******####========= actions end =========####******========####
|
||||
#
|
||||
#def do_each_tenant_ddl_actions(cur, tenant_id_list):
|
||||
@ -6396,7 +6279,7 @@
|
||||
##因为基准版本更新的时候会调用reset_upgrade_scripts.py来清空actions begin和actions end
|
||||
##这两行之间的这些代码,如果不写在这两行之间的话会导致清空不掉相应的代码。
|
||||
#####========******####======== actions begin ========####******========####
|
||||
# run_upgrade_job(conn, cur, "3.1.4")
|
||||
# run_upgrade_job(conn, cur, "3.1.5")
|
||||
# return
|
||||
#####========******####========= actions end =========####******========####
|
||||
#
|
||||
@ -8693,7 +8576,7 @@
|
||||
#
|
||||
#class UpgradeParams:
|
||||
# log_filename = 'upgrade_post_checker.log'
|
||||
# new_version = '3.1.4'
|
||||
# new_version = '3.1.5'
|
||||
##### --------------start : my_error.py --------------
|
||||
#class MyError(Exception):
|
||||
# def __init__(self, value):
|
||||
|
@ -12,7 +12,7 @@ import time
|
||||
|
||||
class UpgradeParams:
|
||||
log_filename = 'upgrade_post_checker.log'
|
||||
new_version = '3.1.4'
|
||||
new_version = '3.1.5'
|
||||
#### --------------start : my_error.py --------------
|
||||
class MyError(Exception):
|
||||
def __init__(self, value):
|
||||
|
@ -1115,123 +1115,6 @@
|
||||
##这两行之间的这些action,如果不写在这两行之间的话会导致清空不掉相应的action。
|
||||
#
|
||||
#####========******####======== actions begin ========####******========####
|
||||
#class EachTenantDDLActionPostCreateAllKvTTLTasks(BaseEachTenantDDLAction):
|
||||
# @staticmethod
|
||||
# def get_seq_num():
|
||||
# return 0
|
||||
# def dump_before_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# def check_before_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('__all_kv_ttl_task already created')
|
||||
# def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def skip_pre_check(self):
|
||||
# return True
|
||||
# def skip_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# return (1 == len(results))
|
||||
# def check_before_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task'.format(tenant_id))
|
||||
# @staticmethod
|
||||
# def get_each_tenant_action_ddl(tenant_id):
|
||||
# pure_table_id = 410
|
||||
# table_id = (tenant_id << 40) | pure_table_id
|
||||
# return """CREATE TABLE `__all_kv_ttl_task` (
|
||||
# `gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
# `gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
# `tenant_id` bigint(20) NOT NULL,
|
||||
# `task_id` bigint(20) NOT NULL,
|
||||
# `table_id` bigint(20) NOT NULL,
|
||||
# `partition_id` bigint(20) NOT NULL,
|
||||
# `task_start_time` bigint(20) NOT NULL,
|
||||
# `task_update_time` bigint(20) NOT NULL,
|
||||
# `trigger_type` bigint(20) NOT NULL,
|
||||
# `status` bigint(20) NOT NULL,
|
||||
# `ttl_del_cnt` bigint(20) NOT NULL,
|
||||
# `max_version_del_cnt` bigint(20) NOT NULL,
|
||||
# `scan_cnt` bigint(20) NOT NULL,
|
||||
# `row_key` varbinary(2048) NOT NULL,
|
||||
# `ret_code` varchar(512) NOT NULL,
|
||||
# PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
# ) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
# @staticmethod
|
||||
# def get_each_tenant_rollback_sql(tenant_id):
|
||||
# return """select 1"""
|
||||
# def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_after_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) != 1:
|
||||
# raise MyError('tenant_id:{0} create table __all_kv_ttl_task failed'.format(tenant_id))
|
||||
# def dump_after_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# def check_after_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task'""".format(self.get_all_table_name()))
|
||||
# if len(results) != len(self.get_tenant_id_list()):
|
||||
# raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
#
|
||||
#class EachTenantDDLActionPostCreateAllKvTTLTaskHistory(BaseEachTenantDDLAction):
|
||||
# @staticmethod
|
||||
# def get_seq_num():
|
||||
# return 1
|
||||
# def dump_before_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# def skip_pre_check(self):
|
||||
# return True
|
||||
# def skip_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# return (1 == len(results))
|
||||
# def check_before_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('__all_kv_ttl_task_history already created')
|
||||
# def dump_before_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_before_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) > 0:
|
||||
# raise MyError('tenant_id:{0} has already create table __all_kv_ttl_task_history'.format(tenant_id))
|
||||
# @staticmethod
|
||||
# def get_each_tenant_action_ddl(tenant_id):
|
||||
# pure_table_id = 411
|
||||
# table_id = (tenant_id << 40) | pure_table_id
|
||||
# return """CREATE TABLE `__all_kv_ttl_task_history` (
|
||||
# `gmt_create` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6),
|
||||
# `gmt_modified` timestamp(6) NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
|
||||
# `tenant_id` bigint(20) NOT NULL,
|
||||
# `task_id` bigint(20) NOT NULL,
|
||||
# `table_id` bigint(20) NOT NULL,
|
||||
# `partition_id` bigint(20) NOT NULL,
|
||||
# `task_start_time` bigint(20) NOT NULL,
|
||||
# `task_update_time` bigint(20) NOT NULL,
|
||||
# `trigger_type` bigint(20) NOT NULL,
|
||||
# `status` bigint(20) NOT NULL,
|
||||
# `ttl_del_cnt` bigint(20) NOT NULL,
|
||||
# `max_version_del_cnt` bigint(20) NOT NULL,
|
||||
# `scan_cnt` bigint(20) NOT NULL,
|
||||
# `row_key` varbinary(2048) NOT NULL,
|
||||
# `ret_code` varchar(512) NOT NULL,
|
||||
# PRIMARY KEY (`tenant_id`, `task_id`, `table_id`, `partition_id`)
|
||||
# ) TABLE_ID={0} DEFAULT CHARSET = utf8mb4 ROW_FORMAT = COMPACT COMPRESSION = 'none' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 TABLEGROUP = 'oceanbase' """.format(table_id)
|
||||
# @staticmethod
|
||||
# def get_each_tenant_rollback_sql(tenant_id):
|
||||
# return """select 1"""
|
||||
# def dump_after_do_each_tenant_action(self, tenant_id):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# def check_after_do_each_tenant_action(self, tenant_id):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history' and tenant_id = {1}""".format(self.get_all_table_name(), tenant_id))
|
||||
# if len(results) != 1:
|
||||
# raise MyError('tenant_id:{0} create table __all_kv_ttl_task_history failed'.format(tenant_id))
|
||||
# def dump_after_do_action(self):
|
||||
# my_utils.query_and_dump_results(self._query_cursor, """select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# def check_after_do_action(self):
|
||||
# (desc, results) = self._query_cursor.exec_query("""select tenant_id, table_id, table_name from {0} where table_name = '__all_kv_ttl_task_history'""".format(self.get_all_table_name()))
|
||||
# if len(results) != len(self.get_tenant_id_list()):
|
||||
# raise MyError('there should be {0} rows in {1} whose table_name is __all_kv_ttl_task_history, but there has {2} rows like that'.format(len(self.get_tenant_id_list()), self.get_all_table_name(), len(results)))
|
||||
#####========******####========= actions end =========####******========####
|
||||
#
|
||||
#def do_each_tenant_ddl_actions(cur, tenant_id_list):
|
||||
@ -6396,7 +6279,7 @@
|
||||
##因为基准版本更新的时候会调用reset_upgrade_scripts.py来清空actions begin和actions end
|
||||
##这两行之间的这些代码,如果不写在这两行之间的话会导致清空不掉相应的代码。
|
||||
#####========******####======== actions begin ========####******========####
|
||||
# run_upgrade_job(conn, cur, "3.1.4")
|
||||
# run_upgrade_job(conn, cur, "3.1.5")
|
||||
# return
|
||||
#####========******####========= actions end =========####******========####
|
||||
#
|
||||
@ -8693,7 +8576,7 @@
|
||||
#
|
||||
#class UpgradeParams:
|
||||
# log_filename = 'upgrade_post_checker.log'
|
||||
# new_version = '3.1.4'
|
||||
# new_version = '3.1.5'
|
||||
##### --------------start : my_error.py --------------
|
||||
#class MyError(Exception):
|
||||
# def __init__(self, value):
|
||||
|
Loading…
x
Reference in New Issue
Block a user