diff --git a/doc/xml/release.xml b/doc/xml/release.xml
index 86c420b4e..2e23b2e3b 100644
--- a/doc/xml/release.xml
+++ b/doc/xml/release.xml
@@ -22,6 +22,14 @@
Fix issue where errors raised in C were not logged when called from Perl. properly terminated with the correct error code but lacked an error message to aid in debugging.
+
+
+
+
+
+
+ Remove incompletely implemented online option from the check command. Offline operation runs counter to the purpose of this command, which is to check if archiving and backups are working correctly.
+
diff --git a/lib/pgBackRest/Check/Check.pm b/lib/pgBackRest/Check/Check.pm
index 44d4dae96..5f72836c1 100644
--- a/lib/pgBackRest/Check/Check.pm
+++ b/lib/pgBackRest/Check/Check.pm
@@ -95,9 +95,9 @@ sub process
$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_CONTROL, undef, $iControlVersion);
$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_SYSTEM_ID, undef, $ullDbSysId);
- $oBackupManifest->build(storageDb({iRemoteIdx => $iRemoteIdx}),
- cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), undef, cfgOption(CFGOPT_ONLINE),
- $oDb->tablespaceMapGet());
+ $oBackupManifest->build(
+ storageDb({iRemoteIdx => $iRemoteIdx}), cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), undef,
+ cfgOptionValid(CFGOPT_ONLINE) && cfgOption(CFGOPT_ONLINE), $oDb->tablespaceMapGet());
return true;
}
diff --git a/lib/pgBackRest/Stanza.pm b/lib/pgBackRest/Stanza.pm
index 76a25c5d8..3b5964489 100644
--- a/lib/pgBackRest/Stanza.pm
+++ b/lib/pgBackRest/Stanza.pm
@@ -90,14 +90,9 @@ sub process
$self->stanzaUpgrade();
}
# Process stanza delete
- elsif (cfgCommandTest(CFGCMD_STANZA_DELETE))
- {
- $self->stanzaDelete();
- }
- # Else error if any other command is found
else
{
- confess &log(ASSERT, "stanza->process() called with invalid command: " . cfgCommandName(cfgCommandGet()));
+ $self->stanzaDelete();
}
# Return from function and log return values if any
diff --git a/src/config/define.auto.c b/src/config/define.auto.c
index 7496751a0..bcdc8ebdb 100644
--- a/src/config/define.auto.c
+++ b/src/config/define.auto.c
@@ -279,13 +279,18 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_OPTIONAL_LIST
(
- CFGDEFDATA_OPTION_OPTIONAL_DEPEND_LIST
- (
- cfgDefOptOnline,
- "1"
- )
-
CFGDEFDATA_OPTION_OPTIONAL_DEFAULT("1")
+
+ CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRRIDE
+ (
+ CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdBackup)
+
+ CFGDEFDATA_OPTION_OPTIONAL_DEPEND_LIST
+ (
+ cfgDefOptOnline,
+ "1"
+ )
+ )
)
)
@@ -1601,7 +1606,6 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
CFGDEFDATA_OPTION_COMMAND_LIST
(
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdBackup)
- CFGDEFDATA_OPTION_COMMAND(cfgDefCmdCheck)
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaCreate)
CFGDEFDATA_OPTION_COMMAND(cfgDefCmdStanzaUpgrade)
)
@@ -1626,17 +1630,6 @@ static ConfigDefineOptionData configDefineOptionData[] = CFGDEFDATA_OPTION_LIST
)
)
- CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRRIDE
- (
- CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdCheck)
-
- CFGDEFDATA_OPTION_OPTIONAL_HELP_SUMMARY("Check an online cluster.")
- CFGDEFDATA_OPTION_OPTIONAL_HELP_DESCRIPTION
- (
- "Specifying --no-online prevents pgBackRest from connecting to PostgreSQL and will disable some checks."
- )
- )
-
CFGDEFDATA_OPTION_OPTIONAL_COMMAND_OVERRRIDE
(
CFGDEFDATA_OPTION_OPTIONAL_COMMAND(cfgDefCmdStanzaCreate)
diff --git a/src/perl/embed.auto.c b/src/perl/embed.auto.c
index 0eac3b5f0..9822fd41e 100644
--- a/src/perl/embed.auto.c
+++ b/src/perl/embed.auto.c
@@ -4535,9 +4535,9 @@ static const EmbeddedModule embeddedModule[] =
"$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_CONTROL, undef, $iControlVersion);\n"
"$oBackupManifest->numericSet(MANIFEST_SECTION_BACKUP_DB, MANIFEST_KEY_SYSTEM_ID, undef, $ullDbSysId);\n"
"\n"
- "$oBackupManifest->build(storageDb({iRemoteIdx => $iRemoteIdx}),\n"
- "cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), undef, cfgOption(CFGOPT_ONLINE),\n"
- "$oDb->tablespaceMapGet());\n"
+ "$oBackupManifest->build(\n"
+ "storageDb({iRemoteIdx => $iRemoteIdx}), cfgOption(cfgOptionIdFromIndex(CFGOPT_PG_PATH, $iRemoteIdx)), undef,\n"
+ "cfgOptionValid(CFGOPT_ONLINE) && cfgOption(CFGOPT_ONLINE), $oDb->tablespaceMapGet());\n"
"\n"
"return true;\n"
"}\n"
@@ -16713,14 +16713,9 @@ static const EmbeddedModule embeddedModule[] =
"$self->stanzaUpgrade();\n"
"}\n"
"\n"
- "elsif (cfgCommandTest(CFGCMD_STANZA_DELETE))\n"
- "{\n"
- "$self->stanzaDelete();\n"
- "}\n"
- "\n"
"else\n"
"{\n"
- "confess &log(ASSERT, \"stanza->process() called with invalid command: \" . cfgCommandName(cfgCommandGet()));\n"
+ "$self->stanzaDelete();\n"
"}\n"
"\n\n"
"return logDebugReturn\n"
diff --git a/test/lib/pgBackRestTest/Module/Stanza/StanzaAllPerlTest.pm b/test/lib/pgBackRestTest/Module/Stanza/StanzaAllPerlTest.pm
index 78dfc5b05..5eecb7255 100644
--- a/test/lib/pgBackRestTest/Module/Stanza/StanzaAllPerlTest.pm
+++ b/test/lib/pgBackRestTest/Module/Stanza/StanzaAllPerlTest.pm
@@ -107,15 +107,11 @@ sub run
################################################################################################################################
if ($self->begin("Stanza::process()"))
{
- #---------------------------------------------------------------------------------------------------------------------------
- $self->configTestLoad(CFGCMD_CHECK);
+ $self->optionTestSetBool(CFGOPT_ONLINE, false);
+ $self->configTestLoad(CFGCMD_STANZA_CREATE);
+
my $oStanza = new pgBackRest::Stanza();
- $self->testException(sub {$oStanza->process()}, ERROR_ASSERT,
- "stanza->process() called with invalid command: " . cfgCommandName(CFGCMD_CHECK));
-
- #---------------------------------------------------------------------------------------------------------------------------
- $self->configTestLoad(CFGCMD_STANZA_CREATE);
rmdir($self->{strArchivePath});
rmdir($self->{strBackupPath});
$self->testResult(sub {$oStanza->process()}, 0, 'parent paths recreated successfully');