diff --git a/src/backend/utils/gp/segadmin.c b/src/backend/utils/gp/segadmin.c index e330ec9fc0834e323968d0e6505a5fadd8f80c4d..df2e84c23fa72f4218cc17772c78febcbb9887ec 100644 --- a/src/backend/utils/gp/segadmin.c +++ b/src/backend/utils/gp/segadmin.c @@ -782,7 +782,11 @@ gp_add_segment_primary(PG_FUNCTION_ARGS) new.db.dbid = get_availableDbId(); new.db.role = SEGMENT_ROLE_PRIMARY; new.db.preferred_role = SEGMENT_ROLE_PRIMARY; +#ifdef USE_SEGWALREP + new.db.mode = GP_SEGMENT_CONFIGURATION_MODE_NOTINSYNC; +#else new.db.mode = GP_SEGMENT_CONFIGURATION_MODE_INSYNC; +#endif new.db.status = GP_SEGMENT_CONFIGURATION_STATUS_UP; new.db.filerep_port = -1; @@ -853,6 +857,11 @@ gp_add_segment(PG_FUNCTION_ARGS) mirroring_sanity_check(MASTER_ONLY | SUPERUSER, "gp_add_segment"); +#ifdef USE_SEGWALREP + new.db.mode = GP_SEGMENT_CONFIGURATION_MODE_NOTINSYNC; + elog(NOTICE, "mode is changed to GP_SEGMENT_CONFIGURATION_MODE_NOTINSYNC under walrep."); +#endif + add_segment(new, fsmap); PG_RETURN_INT16(new.db.dbid); @@ -941,7 +950,11 @@ gp_add_segment_mirror(PG_FUNCTION_ARGS) mirroring_sanity_check(MASTER_ONLY | SUPERUSER, "gp_add_segment_mirror"); new.db.dbid = get_availableDbId(); +#ifdef USE_SEGWALREP + new.db.mode = GP_SEGMENT_CONFIGURATION_MODE_NOTINSYNC; +#else new.db.mode = GP_SEGMENT_CONFIGURATION_MODE_INSYNC; +#endif new.db.status = GP_SEGMENT_CONFIGURATION_STATUS_UP; new.db.role = SEGMENT_ROLE_MIRROR; new.db.preferred_role = SEGMENT_ROLE_MIRROR;