Be smarter about initial reconfigure
- Dominant language
- Ruby
- Stars
- 2.1k
- Forks
- 248
- PR merge metrics
- No merged PRs in 30d
Description
Synapse is designed to re-write the haproxy config & reload haproxy when it starts (set [here](https://github.com/airbnb/synapse/blob/master/lib/synapse.rb#L24-25)).
This means that any time synapse is restarted there is a period between when it starts and when the watcher first registers where the defaults are being used (and if there are no defaults you will return 503's from haproxy).
I can see why you would want an initial reconfigure so that any time you restart synapse you know any changes unrelated to backends will get picked up, but it seems like it should be smarter and wait until all watchers have checked in once before doing its initial reconfiguration. I'm happy to submit a PR if this sounds reasonable.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in lib/synapse.rb at lines 24-25, then trace the watcher registration and initial HAProxy reconfiguration flow. Confirm the current startup sequence and define completion as delaying the initial reconfiguration until all watchers have checked in once, while preserving updates unrelated to backends.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100