stop zone后为什么对应的zone上的observer还是active状态呢


mysql> select SVR_IP,SVR_PORT,id,ZONE,WITH_ROOTSERVER,STATUS,START_SERVICE_TIME,STOP_TIME from oceanbase.dba_ob_servers order by 4;
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+
| SVR_IP       | SVR_PORT | id | ZONE  | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME |
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+
| 10.xx.xx.220 |     2882 |  1 | zone1 | YES             | ACTIVE | 2025-07-11 16:48:55.874983 | NULL      |
| 10.xx.xx.30  |     2882 |  5 | zone1 | NO              | ACTIVE | 2025-07-25 14:30:36.800272 | NULL      |
| 10.xx.xx.221 |     2882 |  2 | zone2 | NO              | ACTIVE | 2025-07-11 16:48:56.679223 | NULL      |
| 10.xx.xx.232 |     2882 |  3 | zone3 | NO              | ACTIVE | 2025-07-16 11:24:21.893589 | NULL      |
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+
4 rows in set (0.01 sec)

mysql> select * from oceanbase.dba_ob_zones;
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS | IDC  | REGION   | TYPE      |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
| zone1 | 2025-07-11 16:45:32.610645 | 2025-07-19 22:32:42.072684 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
| zone2 | 2025-07-11 16:45:32.611700 | 2025-07-22 09:32:52.408101 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
| zone3 | 2025-07-11 16:45:32.611700 | 2025-07-25 17:33:37.320759 | ACTIVE | idc1 | HANGZHOU | ReadWrite |
+-------+----------------------------+----------------------------+--------+------+----------+-----------+
3 rows in set (0.01 sec)

mysql> alter system stop zone zone3;
Query OK, 0 rows affected (1.06 sec)
mysql> select * from oceanbase.dba_ob_zones;
+-------+----------------------------+----------------------------+----------+------+----------+-----------+
| ZONE  | CREATE_TIME                | MODIFY_TIME                | STATUS   | IDC  | REGION   | TYPE      |
+-------+----------------------------+----------------------------+----------+------+----------+-----------+
| zone1 | 2025-07-11 16:45:32.610645 | 2025-07-19 22:32:42.072684 | ACTIVE   | idc1 | HANGZHOU | ReadWrite |
| zone2 | 2025-07-11 16:45:32.611700 | 2025-07-22 09:32:52.408101 | ACTIVE   | idc1 | HANGZHOU | ReadWrite |
| zone3 | 2025-07-11 16:45:32.611700 | 2025-07-25 17:37:23.059082 | INACTIVE | idc1 | HANGZHOU | ReadWrite |
+-------+----------------------------+----------------------------+----------+------+----------+-----------+
3 rows in set (0.00 sec)

mysql> select SVR_IP,SVR_PORT,id,ZONE,WITH_ROOTSERVER,STATUS,START_SERVICE_TIME,STOP_TIME from oceanbase.dba_ob_servers order by 4;
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+
| SVR_IP       | SVR_PORT | id | ZONE  | WITH_ROOTSERVER | STATUS | START_SERVICE_TIME         | STOP_TIME |
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+
| 10.xx.xx.220 |     2882 |  1 | zone1 | YES             | ACTIVE | 2025-07-11 16:48:55.874983 | NULL      |
| 10.xx.xx.30  |     2882 |  5 | zone1 | NO              | ACTIVE | 2025-07-25 14:30:36.800272 | NULL      |
| 10.xx.xx.221 |     2882 |  2 | zone2 | NO              | ACTIVE | 2025-07-11 16:48:56.679223 | NULL      |
| 10.xx.xx.232 |     2882 |  3 | zone3 | NO              | ACTIVE | 2025-07-16 11:24:21.893589 | NULL      |
+--------------+----------+----+-------+-----------------+--------+----------------------------+-----------+

stop zone后为什么对应的zone上的observer还是active状态呢
貌似跟文档说的有出入

2 个赞

停止的是服务,status状态展示的可以理解为节点是否存活

1 个赞

那跟文档上说的有出入,不能和stop server 等同


mysql> select database_name,table_name,zone,svr_ip,role,TABLEGROUP_NAME  from oceanbase.cdb_ob_table_locations where table_type='user table' and database_name='obcp4';
+---------------+------------+-------+--------------+----------+-----------------+
| database_name | table_name | zone  | svr_ip       | role     | TABLEGROUP_NAME |
+---------------+------------+-------+--------------+----------+-----------------+
| obcp4         | orders     | zone1 | 10.xx.xx.220 | FOLLOWER | NULL            |
| obcp4         | orders     | zone2 | 10.xx.xx.221 | LEADER   | NULL            |
| obcp4         | orders     | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | lineitem   | zone1 | 10.xx.xx.220 | LEADER   | NULL            |
| obcp4         | lineitem   | zone2 | 10.xx.xx.221 | FOLLOWER | NULL            |
| obcp4         | lineitem   | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | partsupp   | zone1 | 10.xx.xx.220 | LEADER   | NULL            |
| obcp4         | partsupp   | zone2 | 10.xx.xx.221 | FOLLOWER | NULL            |
| obcp4         | partsupp   | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | nation     | zone1 | 10.xx.xx.220 | LEADER   | NULL            |
| obcp4         | nation     | zone2 | 10.xx.xx.221 | FOLLOWER | NULL            |
| obcp4         | nation     | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | part       | zone1 | 10.xx.xx.220 | LEADER   | NULL            |
| obcp4         | part       | zone2 | 10.xx.xx.221 | FOLLOWER | NULL            |
| obcp4         | part       | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | supplier   | zone1 | 10.xx.xx.220 | FOLLOWER | NULL            |
| obcp4         | supplier   | zone2 | 10.xx.xx.221 | LEADER   | NULL            |
| obcp4         | supplier   | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | region     | zone1 | 10.xx.xx.220 | FOLLOWER | NULL            |
| obcp4         | region     | zone2 | 10.xx.xx.221 | LEADER   | NULL            |
| obcp4         | region     | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
| obcp4         | customer   | zone1 | 10.xx.xx.220 | LEADER   | NULL            |
| obcp4         | customer   | zone2 | 10.xx.xx.221 | FOLLOWER | NULL            |
| obcp4         | customer   | zone3 | 10.xx.xx.232 | FOLLOWER | NULL            |
+---------------+------------+-------+--------------+----------+-----------------+
24 rows in set (0.42 sec)

看这个查询结果,感觉stop zone 后完全没有影响

文档说的是流程类似但是stop zone不会修改server的stop时间。这里看zone3的都是follower副本,符合预期

1 个赞

嗯,做了这个测试,看着符合预期

mysql> select database_name,table_name,zone,svr_ip,role,TABLEGROUP_NAME  from oceanbase.cdb_ob_table_locations where table_type='user table' and database_name='obcp4' and role='leader';
+---------------+------------+-------+--------------+--------+-----------------+
| database_name | table_name | zone  | svr_ip       | role   | TABLEGROUP_NAME |
+---------------+------------+-------+--------------+--------+-----------------+
| obcp4         | orders     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | lineitem   | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | partsupp   | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | nation     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | part       | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | supplier   | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | region     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | customer   | zone1 | 10.xx.xx.220 | LEADER | NULL            |
+---------------+------------+-------+--------------+--------+-----------------+
8 rows in set (5.55 sec)

mysql> select * from oceanbase.dba_ob_tenants where tenant_id=1014\G
*************************** 1. row ***************************
                 TENANT_ID: 1014
               TENANT_NAME: test
               TENANT_TYPE: USER
               CREATE_TIME: 2025-07-21 18:34:54.538432
               MODIFY_TIME: 2025-07-25 18:14:32.944291
              PRIMARY_ZONE: zone1,zone3;zone2
                  LOCALITY: FULL{1}@zone1, FULL{1}@zone2, FULL{1}@zone3
         PREVIOUS_LOCALITY: NULL
        COMPATIBILITY_MODE: MYSQL
                    STATUS: NORMAL
             IN_RECYCLEBIN: NO
                    LOCKED: NO
               TENANT_ROLE: PRIMARY
         SWITCHOVER_STATUS: NORMAL
          SWITCHOVER_EPOCH: 0
                  SYNC_SCN: 1753438531050405924
            REPLAYABLE_SCN: 1753438531050405924
              READABLE_SCN: 1753438531050405924
        RECOVERY_UNTIL_SCN: 4611686018427387903
                  LOG_MODE: NOARCHIVELOG
ARBITRATION_SERVICE_STATUS: DISABLED
                  UNIT_NUM: 1
                COMPATIBLE: 4.2.1.8
                 MAX_LS_ID: 1003
1 row in set (0.01 sec)

mysql> alter system start zone zone3;
Query OK, 0 rows affected (0.00 sec)

mysql> select database_name,table_name,zone,svr_ip,role,TABLEGROUP_NAME  from oceanbase.cdb_ob_table_locations where table_type='user table' and database_name='obcp4' and role='leader';
+---------------+------------+-------+--------------+--------+-----------------+
| database_name | table_name | zone  | svr_ip       | role   | TABLEGROUP_NAME |
+---------------+------------+-------+--------------+--------+-----------------+
| obcp4         | orders     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | lineitem   | zone3 | 10.xx.xx.232 | LEADER | NULL            |
| obcp4         | partsupp   | zone3 | 10.xx.xx.232 | LEADER | NULL            |
| obcp4         | nation     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | part       | zone3 | 10.xx.xx.232 | LEADER | NULL            |
| obcp4         | supplier   | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | region     | zone1 | 10.xx.xx.220 | LEADER | NULL            |
| obcp4         | customer   | zone3 | 10.xx.xx.232 | LEADER | NULL            |
+---------------+------------+-------+--------------+--------+-----------------+
8 rows in set (5.30 sec)

mysql> 

start zone zone3后
part leader从220上分散到220和232上