Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

README claims you can run a "hot spare" synapse, which is incorrect #7076

Closed
djschilling opened this issue Mar 14, 2020 · 9 comments · Fixed by #7899
Closed

README claims you can run a "hot spare" synapse, which is incorrect #7076

djschilling opened this issue Mar 14, 2020 · 9 comments · Fixed by #7899
Labels
A-Docs things relating to the documentation

Comments

@djschilling
Copy link

In the Readme i read the following sentence:

allowing basic active/backup high-availability with a "hot spare" synapse pointing at the same DB master, as well as enabling DB replication in synapse itself.

But i cannot find any documentation how this ha setup should work.
I also asked in the Matrix Channel Synapse Admins but no one could give me help there.

The only issue i found related is this one: #2123

So the questions that i would like to see answered in the docs are:

@neilisfragile neilisfragile added the A-Docs things relating to the documentation label Mar 16, 2020
@richvdh
Copy link
Member

richvdh commented Mar 17, 2020

allowing basic active/backup high-availability with a "hot spare" synapse pointing at the same DB master, as well as enabling DB replication in synapse itself.

I have basically no idea what this is referring to. AFAIK nobody has ever tried setting up a "hot spare" synapse, and I can't see how that would work, due to the lack of cache coherence between the two instances. In short, I think the README is misleading.

The paragraph in question seems to originate from cc5d68f; @ara4n any insights as to what this was meant to be referring to?

@djschilling
Copy link
Author

@richvdh

Okay but what is the alternative, if that is not an option?
How is for example the setup for matrix.org?
Is it just down if the server crashes?

@richvdh
Copy link
Member

richvdh commented Mar 17, 2020

yes

@djschilling
Copy link
Author

Wow that is unexpected.

So the cache is the main problem?

But if it is just a cache, then it should be possible to just have a second synapse server running and taking over if the first one crashes, right?

My setup then would be:

  • Database -> Postgres Cluster
  • Files -> shared file system
  • Primary Synapse Server
  • Standby Synapse Server

@richvdh
Copy link
Member

richvdh commented Mar 17, 2020

in theory, maybe. In practice, you'd need a way to reliably make sure that the standby didn't do anything (including populate caches from the database) until the primary was dead.

We're looking at multi-master setups in #6677; now isn't a great time to open up a new battle-front in terms of another axis of redundancy. For now, suffice it to say that the README is inaccurate.

@richvdh richvdh changed the title Missing documentation for high-availability README claims you can run a "hot spare" synapse, which is incorrect Mar 17, 2020
@djschilling
Copy link
Author

Okay, i understand.

So what is the current best way to deploy a synapse server if high availability is my focus?

aaronraimist added a commit to aaronraimist/synapse that referenced this issue Jul 18, 2020
Signed-off-by: Aaron Raimist <aaron@raim.ist>
@aaronraimist aaronraimist mentioned this issue Jul 18, 2020
4 tasks
@benlangfeld
Copy link

Okay, i understand.

So what is the current best way to deploy a synapse server if high availability is my focus?

@djschilling Did you ever get anywhere with this line of enquiry?

We're considering replacing a proprietary chat system which has no single point of failure with something Matrix-compatible and this is something of a hang-up for us.

@djschilling
Copy link
Author

@benlangfeld no i never found a solution to this problem. There still seems to be no way to run synapse in an ha setup

@m-amir-ir
Copy link

Hello everyone, have you found a way to solve this problem? Even if it is not exactly high availability, an active/passive solution may be suitable for this purpose

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A-Docs things relating to the documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants