From 2b390af1f96b64a24c9bb95246df1254d2e3e6cf Mon Sep 17 00:00:00 2001 From: gentle_hu Date: Fri, 20 Dec 2024 16:36:41 +0800 Subject: [PATCH] do not create undo meta file in shared storage --- src/bin/initdb/initdb.cpp | 7 ++++++- src/bin/initdb/ss_initdb.cpp | 3 --- .../storage/access/ustore/undo/knl_uundoapi.cpp | 6 +++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/bin/initdb/initdb.cpp b/src/bin/initdb/initdb.cpp index e1010c075b..a86381e11b 100644 --- a/src/bin/initdb/initdb.cpp +++ b/src/bin/initdb/initdb.cpp @@ -5641,7 +5641,12 @@ static void InitUndoSubsystemMeta(void) char undoFilePath[MAXPGPATH] = {'\0'}; char tmpUndoFile[MAXPGPATH] = {'\0'}; - printf("Begin init undo subsystem meta.\n"); + if (enable_dss) { + printf("Skip init undo subsystem meta in shared storage mode.\n"); + return; + } else { + printf("Begin init undo subsystem meta.\n"); + } rc = sprintf_s(undoFilePath, sizeof(undoFilePath), "%s/%s", pg_data, UNDO_META_FILE); securec_check_ss_c(rc, "\0", "\0"); rc = sprintf_s(tmpUndoFile, sizeof(tmpUndoFile), "%s/%s_%s", pg_data, UNDO_META_FILE, "tmp"); diff --git a/src/bin/initdb/ss_initdb.cpp b/src/bin/initdb/ss_initdb.cpp index 7d7c0366b5..b7d0a251a8 100644 --- a/src/bin/initdb/ss_initdb.cpp +++ b/src/bin/initdb/ss_initdb.cpp @@ -60,9 +60,6 @@ static const char* ss_instanceowndirs[] = {"base", "global", "pg_xlog", "pg_xlog/archive_status", - "undo", - "undo/unlogged", - "undo/temp", "pg_stat_tmp", "pg_errorinfo", "pg_logical", diff --git a/src/gausskernel/storage/access/ustore/undo/knl_uundoapi.cpp b/src/gausskernel/storage/access/ustore/undo/knl_uundoapi.cpp index 53748c73ed..072eb11625 100644 --- a/src/gausskernel/storage/access/ustore/undo/knl_uundoapi.cpp +++ b/src/gausskernel/storage/access/ustore/undo/knl_uundoapi.cpp @@ -601,6 +601,10 @@ static void InitUndoMeta(void) void RecoveryUndoSystemMeta(void) { + if (ENABLE_DMS) { + ereport(LOG, (errmsg("Skip recovery undo system meta in shared storage mode."))); + return; + } if (t_thrd.role == STARTUP) { /* Ensure that the undometa file exists. */ if (access(UNDO_META_FILE, F_OK) != 0) { @@ -935,4 +939,4 @@ bool CheckUndoMetaBuf(char *undoMeta) Assert(undoMeta != NULL); return CheckUndoZone(undoMeta) && CheckUndoSpace(undoMeta, UNDO_LOG_SPACE) && CheckUndoSpace(undoMeta, UNDO_SLOT_SPACE); -} \ No newline at end of file +} -- Gitee