fly-apps / fly-apps/redis-geo-cache

Region boot order

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
86
Forks
9
PR merge metrics
No merged PRs in 30d

Description

@mrkurt, thank you for this. The dig of the ipv6 address is a neat trick.

Although, I believe there is an issue with this approach - Fly provides no assurance that the primary boots before other regions.

My tests indicate, that often times, the replica regions boot on a deploy, prior to the primary, resulting in a broken replica address in the redis conf, once the primary finishes booting and replaces the previous instance. If the replica boots before the primary, the dig query returns the address of the previous primary instance, which will no longer exist once the new primary finishes booting.

Unless I am mistaken, this system fails to take into account of boot order of regions. This model only works if you deploy once, to one region and then scale to additional regions. Redeploying has the potential of breaking replication of data.

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are identified. Start by reproducing a multi-region deploy where a replica boots before the primary and inspect how the Redis replica address is generated and persisted; done means replication remains valid after redeployments regardless of region boot order.

Written by the indexing model from the issue text.

Assessment

Tech stack
redis, shell
Domain
databases, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.