superfly/fly_rpc_elixir

Static cookie required for zero-downtime deployments?

Closed this issue · 3 comments

It seems that if an app does not have a static cookie set in a fly.io secret, then during deployment some instances may be unable to connect to nodes in primary region until those instances are replaced. So, for example, apps using fly_postgres_elixir could lose some writes.

If so, then maybe this should be mentioned in the docs (both here and in fly_postgres_elixir)?

Something like, "Apps that require zero-downtime deployments should have a RELEASE_COOKIE secret set so that all nodes can keep talking to primary region nodes during release rollouts"?

That's a good point. Thanks for suggesting this!

Thanks for the suggestion. I added it to both projects.

Do the instructions make sense? Would they have helped you avoid the problem?

Oh yeah, this looks great!