-
fix(connectors): replicate local-only connectors across the cluster
Release / version (push) Canceled after 0sRelease / frontend (push) Canceled after 0sRelease / linux (amd64) (push) Canceled after 0sRelease / linux (arm64) (push) Canceled after 0sRelease / windows (push) Canceled after 0sRelease / macos (push) Canceled after 0sRelease / release (push) Canceled after 0sBuild and Push Docker Image / build-and-push (push) Canceled after 0sreleased this
2026-06-21 15:35:51 +03:00 A connector configured while a node was standalone (or auto-created on the
PVE-LXC node before it joined a cluster) only ever entered that node's local
SQLite: the CRUD persistUpsert path is Raft-only once clustered, so a
pre-cluster connector never made it into the replicated log. The Proxmox
poller is leader-gated and reads the local connectors table, so whenever a
node that lacked the row became leader it polled nothing — the connector
froze even though another node owned it.Add Replicator.BackfillLocalConnectors and run it from the cluster
reconciler (not leader-gated): each node re-submits its local connectors via
CmdConnectorUpsert (forwarded to the leader when a follower; applier dedupes
by fingerprint), so the row replicates to every peer and ANY leader can poll
it. The pass latches off after one success to avoid per-cycle log churn;
connectors added later already replicate directly through persistUpsert.Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01U3LvJu9qZfspPr21TW9ptvDownloads