Skip to content

Commit 875cbee

Browse files
committed
policy: take RLock for reads so map generation runs concurrently
One exclusive mutex serialized every policy read, so a mass reconnect on autogroup:self/via/relay policies stalled clients into "unexpected EOF" retries. Per-node caches become xsync.Maps for lazy population under RLock. Fixes #3346
1 parent 518b497 commit 875cbee

5 files changed

Lines changed: 103 additions & 77 deletions

File tree

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,14 @@ keys remain all-access.
4545
- Expiring or deleting a non-existent pre-auth key now returns an error instead of silently succeeding [#3324](https://github.com/juanfont/headscale/pull/3324)
4646
- Improve systemd service file hardening [#3341](https://github.com/juanfont/headscale/pull/3341)
4747

48+
## 0.29.2 (202x-xx-xx)
49+
50+
**Minimum supported Tailscale client version: v1.80.0**
51+
52+
### Changes
53+
54+
- Fix map generation serializing on the policy lock, so a mass reconnect on `autogroup:self`, via or relay policies no longer stalls clients into `unexpected EOF` retry loops [#XXXX](https://github.com/juanfont/headscale/pull/XXXX)
55+
4856
## 0.29.1 (2026-06-18)
4957

5058
**Minimum supported Tailscale client version: v1.80.0**

0 commit comments

Comments
 (0)