@ -2174,7 +2174,7 @@ static void do_failover(uint32 term)
|
||||
}
|
||||
|
||||
origin_run_mode = run_mode = get_runmode();
|
||||
if (ss_instance_config.dss.enable_dorado) {
|
||||
if (ss_instance_config.dss.enable_dorado || ss_instance_config.dss.enable_stream) {
|
||||
if (run_mode == PRIMARY_MODE) {
|
||||
pg_log(PG_WARNING,
|
||||
_(" failover completed; "
|
||||
@ -2183,9 +2183,14 @@ static void do_failover(uint32 term)
|
||||
} else if (run_mode != MAIN_STANDBY_MODE) {
|
||||
pg_log(PG_WARNING,
|
||||
_(" cannot failover server; "
|
||||
"server is not main standby node in ss dorado cluster\n"));
|
||||
"server is not main standby node in ss double cluster\n"));
|
||||
exit(1);
|
||||
}
|
||||
} else if (ss_instance_config.dss.enable_dss) {
|
||||
pg_log(PG_WARNING,
|
||||
_(" cannot failover server; "
|
||||
"server is share storage single cluster mode\n"));
|
||||
exit(1);
|
||||
} else {
|
||||
if (run_mode == PRIMARY_MODE) {
|
||||
pg_log(PG_WARNING, _(" failover completed (%s)\n"), pg_data);
|
||||
@ -2266,10 +2271,11 @@ static void do_failover(uint32 term)
|
||||
break;
|
||||
}
|
||||
|
||||
pg_log(PG_PRINT, "\n");
|
||||
if ((origin_run_mode == STANDBY_MODE && get_runmode() != PRIMARY_MODE) ||
|
||||
(origin_run_mode == MAIN_STANDBY_MODE && get_runmode() != PRIMARY_MODE) ||
|
||||
(origin_run_mode == CASCADE_STANDBY_MODE && get_runmode() != STANDBY_MODE)) {
|
||||
pg_log(PG_WARNING, _(" \nfailover timeout after %d seconds. please manually check the cluster status or backtrack log.\n"), wait_seconds);
|
||||
pg_log(PG_WARNING, _(" failover timeout after %d seconds. please manually check the cluster status or backtrack log.\n"), wait_seconds);
|
||||
pg_log(PG_WARNING, _(" failover failed (%s)\n"), pg_data);
|
||||
exit(1);
|
||||
}
|
||||
|
@ -32,6 +32,7 @@ SSInstanceConfig ss_instance_config = {
|
||||
.dss = {
|
||||
.enable_dss = false,
|
||||
.enable_dorado = false,
|
||||
.enable_stream = false,
|
||||
.instance_id = 0,
|
||||
.primaryInstId = -1,
|
||||
.interNodeNum = 0,
|
||||
@ -476,6 +477,7 @@ bool ss_read_config(const char* pg_data)
|
||||
char config_file[MAXPGPATH] = {0};
|
||||
char enable_dss[MAXPGPATH] = {0};
|
||||
char enable_dorado[MAXPGPATH] = {0};
|
||||
char enable_stream[MAXPGPATH] = {0};
|
||||
char inst_id[MAXPGPATH] = {0};
|
||||
char interconnect_url[MAXPGPATH] = {0};
|
||||
char** optlines = NULL;
|
||||
@ -496,10 +498,15 @@ bool ss_read_config(const char* pg_data)
|
||||
}
|
||||
|
||||
(void)find_guc_optval((const char**)optlines, "ss_enable_dorado", enable_dorado);
|
||||
if(strcmp(enable_dorado, "on") == 0) {
|
||||
if (strcmp(enable_dorado, "on") == 0) {
|
||||
ss_instance_config.dss.enable_dorado = true;
|
||||
}
|
||||
|
||||
(void)find_guc_optval((const char**)optlines, "ss_stream_cluster", enable_stream);
|
||||
if (strcmp(enable_stream, "on") == 0) {
|
||||
ss_instance_config.dss.enable_stream = true;
|
||||
}
|
||||
|
||||
ss_instance_config.dss.enable_dss = true;
|
||||
ss_instance_config.dss.socketpath = (char*)malloc(sizeof(char) * MAXPGPATH);
|
||||
ss_instance_config.dss.vgname = (char*)malloc(sizeof(char) * MAXPGPATH);
|
||||
|
@ -122,6 +122,7 @@ typedef struct st_datadir_t {
|
||||
typedef struct DssOptions {
|
||||
bool enable_dss;
|
||||
bool enable_dorado;
|
||||
bool enable_stream;
|
||||
int instance_id;
|
||||
int primaryInstId;
|
||||
int interNodeNum;
|
||||
|
Reference in New Issue
Block a user