distributed systems
6 minFencing tokens: reject workers whose lease has expired
Protect a shared resource from stale owners instead of assuming expired leases stop processes.
Loading page...
distributed systems
6 minProtect a shared resource from stale owners instead of assuming expired leases stop processes.
devops
17 minOptimize Docker layers without breaking reproducibility, isolate CI execution, secure image provenance, and deploy compatible schema changes.
Q&A
Q&AIt must own the monitor, releases that monitor, and waits until notified or interrupted.
Object.wait() requires ownership of that object’s monitor. The thread releases that monitor and enters a waiting state until notification, interruption, timeout, or spurious wakeup; it must reacquire the monitor before returning. Always wait in a while loop that rechecks the condition, and use higher-level concurrency utilities where possible.
kubernetes
10 minDeployments are easy to start and hard to trust. Learn how readiness probes, rollout strategies, and traffic shaping keep Kubernetes services stable during real releases.
devops
17 minConnect immutable infrastructure, safe schema evolution, IaC lock recovery, artifact provenance, and CI isolation into one release discipline.
Q&A
Q&AEvery accepted item has been acknowledged, not necessarily committed successfully.
A bounded queue limits waiting items; workers hold additional active items. task_done releases unfinished-item accounting, while business success and durable retries require separate records.
Q&A
Q&AAt the destination, atomically with the protected effect.
The destination rejects generations older than its highest accepted token. A lease does not stop a paused worker, and a fence cannot reject an expired generation it has not yet learned is superseded.
Q&A
Q&ARelease owned resources in cleanup and normally propagate cancellation after cleanup.
Cancellation is delivered at an await point. Use finally blocks or async context managers to close resources, then re-raise CancelledError unless there is a deliberate reason to suppress it. A blocking synchronous call may not respond promptly, so keep the event loop cooperative and bound background work.