Documentation
¶
Index ¶
- func AcquireExclusiveGCPathLock(path string) (func(), error)
- func AcquireExclusivePathLock(path string) func()
- func AcquirePathLock(sourcePath string) func()
- func AcquireRequiredExclusivePathLock(path string) (func(), error)
- func AcquireSharedGCPathLock(path string) (func(), error)
- func AcquireSharedPathLock(path string) func()
- func NewPathLocker(path string) sync.Locker
- func TryAcquireExclusiveGCPathLock(path string) (func(), bool, error)
- func TryAcquireExclusivePathLock(path string) (func(), bool, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AcquireExclusiveGCPathLock ¶ added in v0.120.0
AcquireExclusiveGCPathLock waits for exclusive access to a source store's GC gate.
func AcquireExclusivePathLock ¶ added in v0.120.0
func AcquireExclusivePathLock(path string) func()
AcquireExclusivePathLock takes an exclusive repository lock and excludes all other holders.
func AcquirePathLock ¶
func AcquirePathLock(sourcePath string) func()
AcquirePathLock takes an exclusive lock for a mutable source path, including across shared data volumes.
func AcquireRequiredExclusivePathLock ¶ added in v0.120.0
AcquireRequiredExclusivePathLock takes an exclusive path lock and fails if cross-process exclusion cannot be established.
func AcquireSharedGCPathLock ¶ added in v0.120.0
AcquireSharedGCPathLock marks a source store as actively preparing or deploying without sharing a lock namespace with source mutation locks. Unlike ordinary source locks, it fails rather than silently dropping cross-process protection.
func AcquireSharedPathLock ¶ added in v0.120.0
func AcquireSharedPathLock(path string) func()
AcquireSharedPathLock takes a shared repository lock and excludes exclusive holders.
func NewPathLocker ¶ added in v0.120.0
NewPathLocker adapts the process-and-filesystem path lock to sync.Locker. It lets a callee lock multiple scoped phases without losing cross-process exclusion.
func TryAcquireExclusiveGCPathLock ¶ added in v0.120.0
TryAcquireExclusiveGCPathLock prevents new deployments from crossing their in-flight-to-labeled transition while a source store is scanned. Failure to obtain cross-process exclusion skips the sweep.
func TryAcquireExclusivePathLock ¶ added in v0.120.0
TryAcquireExclusivePathLock attempts to take an exclusive path lock without waiting. It returns false when another process or goroutine currently holds the path.
Types ¶
This section is empty.