You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Replication places subscriptions and record-lock ownership on isolated application workers #974
Replication subscriptions and record-lock ownership can be placed on an isolated application's dedicated worker.
Isolated-application workers (HarperFast/harper#2524, shipped in 5.3.0) are started with name: THREAD_TYPES.HTTP (core server/threads/socketRouter.ts:276). Replication is a trusted built-in, so placedOnThisThread loads it on every worker, isolated ones included (core components/componentLoader.ts:178-179). harper-pro picks placement targets with workers.filter((worker) => worker.name === 'http') in four places, none of which exclude worker.application:
replication/recordLockTransport.ts:962 (httpWorkers() for lock ownership)
Impact
Replication apply, and the sending on that worker's inbound sockets, runs on the event loop the operator dedicated to one application. This defeats the isolation the operator configured.
Restarting that application's worker (scoped restart) drops the replication connections and lock ownership it holds. Recovery then goes through the worker-exit path and reconnect for an unrelated cause.
Fix
Exclude workers with worker.application set from replication placement. Ideally do it through one shared selector, which is also the seam #435's replication pool needs.
Fixed by #979 (Keep replication subscriptions and record-lock ownership off isolated-application workers), merged 2026-10-06. Closing; the merged PR referenced this issue without a closing keyword.
Activity
fix: Keep replication off isolated-application workers
Address pre-push review nits: comments, W1 pool wording, broadcast test
test: Keep the isolated-application suite's data root under the UDS p…
Name the replication pool in deferral logs and trim test comments
fix: Keep replication off isolated-application workers
Address pre-push review nits: comments, W1 pool wording, broadcast test
test: Keep the isolated-application suite's data root under the UDS p…
Name the replication pool in deferral logs and trim test comments
Keep replication subscriptions and record-lock ownership off isolated…
fix: Keep replication off isolated-application workers
Address pre-push review nits: comments, W1 pool wording, broadcast test
test: Keep the isolated-application suite's data root under the UDS p…
Name the replication pool in deferral logs and trim test comments
cherry-pick: Keep replication subscriptions and record-lock ownership…
kriszyp commentedon Oct 13, 2026
Fixed by #979 (Keep replication subscriptions and record-lock ownership off isolated-application workers), merged 2026-10-06. Closing; the merged PR referenced this issue without a closing keyword.
— Claude Opus 5.5 (triage pass)