-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Run multiple event persisters when using Redis #972
Conversation
@erikjohnston Looks like this has some failing tests! |
})->then( sub { | ||
# Check public rooms list for local user | ||
my ( $body ) = @_; | ||
retry_until_success { |
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.
why are these changes necessary? And if they are really necessary, can we limit the number of times we retry, rather than going on forever?
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.
The test was flakey. This may no longer be necessary, but in general I don't think the public room lists get updated immediately (as they can be populated via background processes).
The retry_until_success
will get killed by the test timeout, which is how we use retry_until_success
/repeat_until_true
elsewhere?
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.
could you add a comment to say that we're retrying because the directory is updated asynchonously, or sth.
My main gripe with retry_until_success
is that it turns test failures into test timeouts, which we tend to ignore as "oh we had a slow VM for random reasons", so a limit on the number of retries is preferable if possible.
The other problem with retry_until_success
is that it swallows the failure, so you can't see what's going wrong. https://github.com/matrix-org/sytest/blob/develop/tests/30rooms/04messages.pl#L387-L408 includes a bunch of code to log what's going on, but on closer inspection maybe we should put all that boilerplate into retry_until_success
(which could maybe also benefit from a "try N times" param which defaults to something other than "infinity").
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.
Have added a comment.
Yeah, I think that sounds like a general issue with retry_until_success
. We use this pattern a lot so it feels like something to investigate and improve separately.
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
For the second time this week (#972 and #973), I've found myself wondering why a test was failing and discovered that it is due to it relying on new functionality in Future 0.45. I guess we may as well bump the dep as try to keep our tests backwards-compatible, particularly given the CI uses the latest version.
For the second time this week (#972 and #973), I've found myself wondering why a test was failing and discovered that it is due to it relying on new functionality in Future 0.45. I guess we may as well bump the dep as try to keep our tests backwards-compatible, particularly given the CI uses the latest version.
This makes SyTest test Synapse's sharded event persister set up.
Requires matrix-org/synapse#8499