-
Notifications
You must be signed in to change notification settings - Fork 8
Detect obsolete daemons across same-version builds #1184
Copy link
Copy link
Closed
Labels
area:runtimeACP runtime, process management, and session command flowACP runtime, process management, and session command flowbugSomething isn't workingSomething isn't workingeffort: SUnder about half a day: one localized change, clear fix, no design neededUnder about half a day: one localized change, clear fix, no design neededimpact: lowCosmetic, rare, or has an easy workaroundCosmetic, rare, or has an easy workaround
Description
Activity
Metadata
Metadata
Assignees
Labels
area:runtimeACP runtime, process management, and session command flowACP runtime, process management, and session command flowbugSomething isn't workingSomething isn't workingeffort: SUnder about half a day: one localized change, clear fix, no design neededUnder about half a day: one localized change, clear fix, no design neededimpact: lowCosmetic, rare, or has an easy workaroundCosmetic, rare, or has an easy workaround
Problem
Automatic daemon replacement misses different builds with the same package version. A newly installed client can reuse an older daemon that does not support its configuration fields.
Reproduction
The old daemon remains running and rejects the new field.
Expected behavior
Detect obsolete daemons across same-version builds using build identity and route replacement through the existing safe handoff mechanism. Preserve active workers and accepted work, and retain downgrade protection.
Implementation context
The startup replacement decision checks protocol version, release version, and database migration needs, but does not compare build identity.
Add an isolated regression for changed build identity with unchanged release, protocol, and schema. Repeated launches of the same build should not replace the daemon.
Impact: low; limited to same-version builds, with explicit daemon restart as a workaround.
Effort: low (
effort: S).