1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-07-11 00:50:20 +02:00

Allow multiple remote locks from the same main process.

Improve locking on remote processes by introducing an exec-id that is unique to the main process and passed to all remote processes. This allows the remote processes to determine if a lock is held by a remote from the same main process. If so, the lock is allowed.

The exec-id is also useful for associating remote logs with main logs for debugging purposes.
This commit is contained in:
David Steele
2020-11-23 12:41:54 -05:00
committed by GitHub
parent 77198dce97
commit 7fda83b31e
38 changed files with 428 additions and 233 deletions

View File

@ -712,7 +712,9 @@ testRun(void)
// Make sure the process times out when it can't get a lock
// -------------------------------------------------------------------------------------------------------------------------
TEST_RESULT_VOID(
lockAcquire(cfgOptionStr(cfgOptLockPath), cfgOptionStr(cfgOptStanza), cfgLockType(), 30000, true), "acquire lock");
lockAcquire(
cfgOptionStr(cfgOptLockPath), cfgOptionStr(cfgOptStanza), STRDEF("999-dededede"), cfgLockType(), 30000, true),
"acquire lock");
TEST_RESULT_VOID(lockClear(true), "clear lock");
HARNESS_FORK_BEGIN()