[Bugfix] Bound HWR domain initialization lock waits (#7128)
Signed-off-by: Hongsheng Liu <liuhongsheng4@huawei.com>
This commit is contained in:
1 parent
a2486dd00b
commit
7576c4ceb9
5 files changed
+134
-9
No files matched your search
@@ -313,8 +313,15 @@ One process per exact identity owns a build; other workers wait and then acquire
|
||||
leases for the published artifact. Publication is invisible until all payloads
|
||||
and metadata are validated, hashed, fsynced, and atomically renamed.
|
||||
|
||||
`coordination_timeout_seconds` bounds filesystem lock acquisition. It does not
|
||||
cancel synchronous validation, a producer that has already started, or atomic
|
||||
`coordination_timeout_seconds` bounds domain-initialization and lookup/build
|
||||
lock acquisition. Store construction and each later resolution or publication
|
||||
operation have separate budgets from the same wait policy, rather than one
|
||||
end-to-end startup deadline. A domain-init timeout follows the retryable domain
|
||||
failure policy below. After contention ends, a fresh runtime construction can
|
||||
retry initialization; the timed-out runtime retains its original failure.
|
||||
|
||||
The coordination budget does not cancel filesystem I/O, synchronous validation,
|
||||
a producer that has already started, or atomic
|
||||
publication. A hung in-process producer therefore blocks its owning process and
|
||||
must be handled by external process supervision. Enforceable producer
|
||||
cancellation requires a future process-isolated producer contract.
|
||||
|
||||
@@ -136,8 +136,16 @@ so only when it is marked retryable; unsupported capabilities, identity
|
||||
collisions, producer failures, and publication failures remain visible as
|
||||
startup failures.
|
||||
|
||||
`coordination_timeout_seconds` bounds acquisition of lookup and build locks; it
|
||||
is not a hard wall-clock deadline for in-process validation, production, or
|
||||
`coordination_timeout_seconds` bounds acquisition of the domain-initialization
|
||||
lock and lookup/build locks. Store construction and each later resolution or
|
||||
publication operation receive separate coordination budgets from the same
|
||||
`WaitPolicy`; they do not share an end-to-end startup deadline. A domain-init
|
||||
lock timeout is a retryable domain failure: preferred mode may fall back and
|
||||
required mode fails. Retrying initialization requires constructing a fresh
|
||||
runtime after contention ends; a waiter never cancels or unlocks the owner.
|
||||
|
||||
The coordination budget is not a hard wall-clock deadline for filesystem I/O,
|
||||
in-process validation, production, or
|
||||
atomic publication. Once this V1 implementation becomes the producer, the
|
||||
synchronous producer and publication run to completion. A hung producer blocks
|
||||
its owning process and requires external process supervision; enforceable
|
||||
|
||||
Reference in new issue
Block a user