oceanbase

Форк
0
/
check_merge_status.inc 
163 строки · 4.8 Кб
1
#--disable_query_log
2
#--disable_result_log
3
connection sys_conn;
4
let $timeout_s = 600;
5
if ($merge_stage == 0) {
6
    ## check minor_freeze after major_freeze is started
7
    let $__i__= $timeout_s;
8
    while($__i__ > 0)
9
    {
10
        sleep 1;
11
        dec $__i__;
12
        let $cur_minor_freeze_count = query_get_value(select count(1) as val from __all_rootservice_event_history where event = 'root_minor_freeze', val, 1);
13
        if ($cur_minor_freeze_count > $minor_freeze_count_ori) {
14
            let $__i__ = -5;
15
        }
16
    }
17
    if($__i__ != -5)
18
    {
19
        --echo failed
20
    }
21
    
22
    ## check broadcast in freeze_info_detector
23
    let $__i__= $timeout_s;
24
    while($__i__ > 0)
25
    {
26
        sleep 1;
27
        dec $__i__;
28
        let $cur_frozen_scn_1 = query_get_value(select frozen_scn from __all_freeze_info order by frozen_scn desc limit 1, frozen_scn, 1);
29
        let $cur_frozen_scn_2 = query_get_value(select frozen_scn from __all_merge_info where tenant_id = $sys_tenant_id, frozen_scn, 1);
30
        let $ret1 = query_get_value(select $cur_frozen_scn_1 > $start_frozen_scn as val, val, 1);
31
        let $ret2 = query_get_value(select $cur_frozen_scn_2 > $start_frozen_scn as val, val, 1);
32
        if ($ret1 == 1) {
33
            if ($ret2 == 1) {
34
                let $__i__ = -5;
35
            }
36
        }
37
    }
38
    if($__i__ != -5)
39
    {
40
        --echo merge_stage = 0, failed to check broadcast in freeze_info_detector
41
    }
42

43
    ## check last_merged_version
44
    let $__i__= $timeout_s;
45
    while($__i__ > 0)
46
    {
47
        sleep 1;
48
        dec $__i__;
49
        let $cur_frozen_scn = query_get_value(select frozen_scn from __all_zone_merge_info where tenant_id = $sys_tenant_id, frozen_scn, 1);
50
        let $cur_last_merged_scn = query_get_value(select last_merged_scn from __all_zone_merge_info where tenant_id = $sys_tenant_id, last_merged_scn, 1);
51
        if ($cur_frozen_scn == $cur_last_merged_scn) {
52
            let $__i__ = -5;
53
        }
54
    }
55
    if($__i__ != -5)
56
    {
57
        --echo merge_stage = 0, failed to check last_merged_version
58
    }
59

60
    ## check is_merging
61
    let $__i__= $timeout_s;
62
    while($__i__ > 0)
63
    {
64
        sleep 1;
65
        dec $__i__;
66
        let $cur_is_merging = query_get_value(select is_merging from __all_zone_merge_info where tenant_id = $sys_tenant_id, is_merging, 1);
67
        if ($cur_is_merging == 0) {
68
            let $__i__ = -5;
69
        }
70
    }
71
    if($__i__ != -5)
72
    {
73
        --echo merge_stage = 0, failed to check is_merging
74
    }
75

76
    ## check merge_status
77
    let $__i__= $timeout_s;
78
    while($__i__ > 0)
79
    {
80
        sleep 1;
81
        dec $__i__;
82
        let $cur_merge_status = query_get_value(select merge_status from __all_zone_merge_info where tenant_id = $sys_tenant_id, merge_status, 1);
83
        if ($cur_merge_status == 0) {
84
            let $__i__ = -5;
85
        }
86
    }
87
    if($__i__ != -5)
88
    {
89
        --echo merge_stage = 0, failed to check merge_status
90
    }
91
}
92

93
if ($merge_stage == 1) {
94
    ## check is_merging
95
    let $__i__= $timeout_s;
96
    while($__i__ > 0)
97
    {
98
        sleep 1;
99
        dec $__i__;
100
        let $cur_is_merging = query_get_value(select is_merging from __all_zone_merge_info where tenant_id = $sys_tenant_id, is_merging, 1);
101
        if ($cur_is_merging == 1) {
102
            let $__i__ = -5;
103
        }
104
    }
105
    if($__i__ != -5)
106
    {
107
        --echo merge_stage = 1, failed to check is_merging
108
    }
109

110
    ## check merge_status
111
    let $__i__= $timeout_s;
112
    while($__i__ > 0)
113
    {
114
        sleep 1;
115
        dec $__i__;
116
        let $cur_merge_status = query_get_value(select merge_status from __all_zone_merge_info where tenant_id = $sys_tenant_id, merge_status, 1);
117
        if ($cur_merge_status >= 1) {
118
            let $__i__ = -5;
119
        }
120
    }
121
    if($__i__ != -5)
122
    {
123
        --echo merge_stage = 1, failed to check merge_status
124
    }
125

126
    ## check frozen_scn
127
    let $__i__= $timeout_s;
128
    while($__i__ > 0)
129
    {
130
        sleep 1;
131
        dec $__i__;
132
        let $cur_frozen_scn = query_get_value(select frozen_scn from __all_zone_merge_info where tenant_id = $sys_tenant_id, frozen_scn, 1);
133
        let $ret = query_get_value(select $cur_frozen_scn > $frozen_scn_ori as val, val, 1);
134
        if ($ret == 1) {
135
            let $__i__ = -5;
136
        }
137
    }
138
    if($__i__ != -5)
139
    {
140
        --echo merge_stage = 1, failed to check frozen_scn
141
    }
142

143
    ## check broadcast_version
144
    let $__i__= $timeout_s;
145
    while($__i__ > 0)
146
    {
147
        sleep 1;
148
        dec $__i__;
149
        let $cur_broadcast_scn = query_get_value(select broadcast_scn from __all_zone_merge_info where tenant_id = $sys_tenant_id, broadcast_scn, 1);
150
        let $ret = query_get_value(select $cur_broadcast_scn > $broadcast_scn_ori as val, val, 1);
151
        if ($ret == 1) {
152
            let $__i__ = -5;
153
        }
154
    }
155
    if($__i__ != -5)
156
    {
157
        --echo merge_stage = 1, failed to check broadcast_version
158
    }
159
}
160

161
connection default;
162
#--enable_query_log
163
#--enable_result_log
164

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.