1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-06-18 23:57:33 +02:00

Add locking capability to the remote command.

When a repository server is configured, commands that modify the repository acquire a remote lock as well as a local lock for extra protection against multiple writers.

Instead of the custom logic used in Perl, make remote locking part of the command configuration.

This also means that the C remote needs the stanza since it is used to construct the lock name.  We may need to revisit this at a later date.
This commit is contained in:
David Steele
2019-03-27 21:14:06 +00:00
parent 7db8cedd68
commit 251dbede8f
13 changed files with 258 additions and 22 deletions

View File

@ -136,8 +136,8 @@ testRun(void)
strPtr(
strNew(
"-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|repo-host-user@repo-host"
"|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=0 --type=backup"
" remote")),
"|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=0 --stanza=test1"
" --type=backup remote")),
"remote protocol params");
// -------------------------------------------------------------------------------------------------------------------------
@ -161,7 +161,7 @@ testRun(void)
"-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|-p|444|repo-host-user@repo-host"
"|pgbackrest --command=archive-get --config=/path/pgbackrest.conf --config-include-path=/path/include"
" --config-path=/path/config --log-level-file=info --log-level-stderr=error --log-subprocess --process=1"
" --type=backup remote")),
" --stanza=test1 --type=backup remote")),
"remote protocol params with replacements");
// -------------------------------------------------------------------------------------------------------------------------
@ -181,8 +181,8 @@ testRun(void)
strPtr(
strNew(
"-o|LogLevel=error|-o|Compression=no|-o|PasswordAuthentication=no|pgbackrest@repo-host"
"|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=3 --type=backup"
" remote")),
"|pgbackrest --command=archive-get --log-level-file=off --log-level-stderr=error --process=3 --stanza=test1"
" --type=backup remote")),
"remote protocol params for local");
}