[UPGRADE] Upgrade cluster_version/data_version to 4.2.0.0

This commit is contained in:
tino247
2023-04-18 03:44:59 +00:00
committed by ob-robot
parent 167d4b9724
commit 9a57e64e56
13 changed files with 159 additions and 157 deletions

View File

@ -26,8 +26,8 @@
# self.action_sql = action_sql
# self.rollback_sql = rollback_sql
#
#current_cluster_version = "4.1.0.0"
#current_data_version = "4.1.0.0"
#current_cluster_version = "4.2.0.0"
#current_data_version = "4.2.0.0"
#g_succ_sql_list = []
#g_commit_sql_list = []
#
@ -1843,7 +1843,10 @@
# min_cluster_version = get_version(results[0][0])
#
# # check data version
# if min_cluster_version >= get_version("4.1.0.0"):
# if min_cluster_version < get_version("4.1.0.0"):
# # last barrier cluster version should be 4.1.0.0
# fail_list.append('last barrier cluster version is 4.1.0.0. prohibit cluster upgrade from cluster version less than 4.1.0.0')
# else:
# data_version_str = ''
# data_version = 0
# # check compatible is same
@ -1857,22 +1860,26 @@
# data_version_str = results[0][0]
# data_version = get_version(results[0][0])
#
# # check target_data_version/current_data_version
# sql = "select count(*) from oceanbase.__all_tenant"
# (desc, results) = query_cur.exec_query(sql)
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('result cnt not match')
# if data_version < get_version("4.1.0.0"):
# # last barrier data version should be 4.1.0.0
# fail_list.append('last barrier data version is 4.1.0.0. prohibit cluster upgrade from data version less than 4.1.0.0')
# else:
# tenant_count = results[0][0]
#
# sql = "select count(*) from __all_virtual_core_table where column_name in ('target_data_version', 'current_data_version') and column_value = {0}".format(data_version)
# # check target_data_version/current_data_version
# sql = "select count(*) from oceanbase.__all_tenant"
# (desc, results) = query_cur.exec_query(sql)
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('result cnt not match')
# elif 2 * tenant_count != results[0][0]:
# fail_list.append('target_data_version/current_data_version not match with {0}, tenant_cnt:{1}, result_cnt:{2}'.format(data_version_str, tenant_count, results[0][0]))
# else:
# logging.info("check data version success, all tenant's compatible/target_data_version/current_data_version is {0}".format(data_version_str))
# tenant_count = results[0][0]
#
# sql = "select count(*) from __all_virtual_core_table where column_name in ('target_data_version', 'current_data_version') and column_value = {0}".format(data_version)
# (desc, results) = query_cur.exec_query(sql)
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('result cnt not match')
# elif 2 * tenant_count != results[0][0]:
# fail_list.append('target_data_version/current_data_version not match with {0}, tenant_cnt:{1}, result_cnt:{2}'.format(data_version_str, tenant_count, results[0][0]))
# else:
# logging.info("check data version success, all tenant's compatible/target_data_version/current_data_version is {0}".format(data_version_str))
#
## 2. 检查paxos副本是否同步, paxos副本是否缺失
#def check_paxos_replica(query_cur):
@ -1905,38 +1912,25 @@
#
## 5. 检查是否有异常租户(creating,延迟删除,恢复中)
#def check_tenant_status(query_cur):
# min_cluster_version = 0
# sql = """select distinct value from GV$OB_PARAMETERS where name='min_observer_version'"""
# (desc, results) = query_cur.exec_query(sql)
# if len(results) != 1:
# fail_list.append('min_observer_version is not sync')
# elif len(results[0]) != 1:
# fail_list.append('column cnt not match')
#
# # check tenant schema
# (desc, results) = query_cur.exec_query("""select count(*) as count from DBA_OB_TENANTS where status != 'NORMAL'""")
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('results len not match')
# elif 0 != results[0][0]:
# fail_list.append('has abnormal tenant, should stop')
# else:
# min_cluster_version = get_version(results[0][0])
# logging.info('check tenant status success')
#
# # check tenant schema
# (desc, results) = query_cur.exec_query("""select count(*) as count from DBA_OB_TENANTS where status != 'NORMAL'""")
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('results len not match')
# elif 0 != results[0][0]:
# fail_list.append('has abnormal tenant, should stop')
# else:
# logging.info('check tenant status success')
#
# # check tenant info
# # 1. don't support standby tenant upgrade from 4.0.0.0
# # 2. don't support restore tenant upgrade
# sub_sql = ''
# if min_cluster_version >= get_version("4.1.0.0"):
# sub_sql = """ and tenant_role != 'STANDBY'"""
# (desc, results) = query_cur.exec_query("""select count(*) as count from oceanbase.__all_virtual_tenant_info where tenant_role != 'PRIMARY' {0}""".format(sub_sql))
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('results len not match')
# elif 0 != results[0][0]:
# fail_list.append('has abnormal tenant info, should stop')
# else:
# logging.info('check tenant info success')
# # check tenant info
# # don't support restore tenant upgrade
# (desc, results) = query_cur.exec_query("""select count(*) as count from oceanbase.__all_virtual_tenant_info where tenant_role != 'PRIMARY' and tenant_role != 'STANDBY'""")
# if len(results) != 1 or len(results[0]) != 1:
# fail_list.append('results len not match')
# elif 0 != results[0][0]:
# fail_list.append('has abnormal tenant info, should stop')
# else:
# logging.info('check tenant info success')
#
## 6. 检查无恢复任务
#def check_restore_job_exist(query_cur):