-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Tests for IPv6 bugs / redis replication over IPv6 #11508
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I appreciate the effort, but I don't really see the value of adding tests which are disabled by default. They'll just bitrot until they get removed again (see https://github.com/matrix-org/synapse/pull/11495/files#diff-cda5424a49ddae4fe5181900d1b607a9daf5c9afa539ed1fdb01622de069e499L198 for a recent example).
Hey @richvdh, thanks for taking a look. Maybe I should have elaborated a tad more: Indeed, I'd recommend that @xfk abandons and re-opens #10717 (comment) with just the fix for the SMTP bug (#7720) and enabling the corresponding test by default, that way we both check that the bug is fixed and that regressions do not happen. Also based on your comment on #10717 (comment) I started re-working the replication bits, which is the most complex of these bugs, and will need to ask a couple questions to finish that. |
Yes, having the tests is very useful, and your efforts in contributing them are very much appreciated. It's just that from a practical point of view I'd much rather we combine the fix and the tests into the same PR - so for example let's have a PR which fixes #7720 and lands the new test. Perhaps we can mark this PR as a draft for now so that people can use it as inspiration for writing those PRs? |
OK, let's redirect this PR into fixing #10694 (and #7695 as a particular case), if in the meantime @xfk wants to open a PR with the fix for #7720 and the corresponding (passing and always enabled) test from this PR, that'd be great. Based on previous discussion and particularly this comment #10717 (comment), I've been looking into refactoring the communication with Redis using a Here are some things I've noticed, please correct if any of these is wrong since understanding this right is quite important:
Now, the doubts:
My overall plan to make this happen is:
Does this sound OK? am I missing something? |
This is all correct.
I don't think you need to worry too much about how
Maybe. It would certainly be nice if there were a type definition for the interface exposed by
Did you link to the right line here? That's nothing to do with pings, but rather about whether
+1
You may find that a factory created with
Are you intending to make
I'm not sure if you actually need to know that? Could you just call
I think it sounds about right. To be honest, I'm struggling to figure out how it all fits together when looking at it in the abstract. |
@evilham: are you still interested in working on this? |
Yep, I want to get this fixed and it's on my TODO, but things have gotten in the way >,<. Will try to re-prioritise, thanks for the ping! |
This has a bunch of conflicts that need to be solved; I wonder if a more reasonable way to handle this would be to:
Hopefully this is pretty doable and folks can crib off this. |
This will help close some long-standing issues:
("X" means we are adding a test for it)
[ ] AS #4092
[ ] metrics EP #6644
[X] replication #7695
[X] smtp #7720
[X] redis #10694
In order to run these IPv6-related tests, the test suite must run with:
env SYNAPSE_POSTGRES=YES DEBUG_IPv6=YES trial tests
Sponsored by: ungleich.ch
Signed-off-by: @telmich Nico Schottelius [email protected]