docs(claude): #609 removal tombstones tracker + hub against late writers
Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
@@ -1106,7 +1106,12 @@ host logger factory (wired in `DriverFactoryBootstrap`; the FOCAS and TwinCAT fa
|
|||||||
`BadNotSupported`).
|
`BadNotSupported`).
|
||||||
- **FOCAS / AbLegacy:** background loops are joined (≤ 5 s) on shutdown.
|
- **FOCAS / AbLegacy:** background loops are joined (≤ 5 s) on shutdown.
|
||||||
- **Driver removal (#609):** removing a driver releases its capability-invoker pipelines and resilience
|
- **Driver removal (#609):** removing a driver releases its capability-invoker pipelines and resilience
|
||||||
tracker, *then* evicts its telemetry snapshots.
|
tracker, *then* evicts its telemetry snapshots. ⚠️ Both are **tombstoned**, not just cleared: the removed
|
||||||
|
child stops asynchronously and its in-flight subscribe/connect still completes through the invoker (and
|
||||||
|
emits Health) on the thread pool *after* `StopChild`, which used to resurrect the state — so a removed
|
||||||
|
driver's counters were republished forever. `Release` → tracker `Retire` and hub `Evict` ignore every later
|
||||||
|
write for that id until it is spawned again (`Create` → `Reinstate`, `SpawnChild` → `Readmit`). A
|
||||||
|
Watch/`Terminated` release would not work — the late writes land after the actor terminates.
|
||||||
|
|
||||||
## Library Preferences
|
## Library Preferences
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user