Skip to content

discussion: How does Cloudflare upgrade binaries if argv0 is forked each time? #11

@kaspar-p

Description

@kaspar-p

It seems to me that replacing the binary so that the same argv0 is forked would lose the "working" version of the binary, in case there were failure during child init. The fs would have the v2 binary, and the running process would have v1. Wouldn't potential crashes in v1 (latent bugs, overload, ...) cause systemd to attempt to restart and see only the v2 binary?

Also, what if surrounding environment should change, e.g. local metadata files, secrets, or even the systemd unit file itself, to define new secrets there (LoadCredentials, ...) or modify startup behavior? Do those deployments still cause connection dropping?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions