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

Convert state resolution to async/await #7942

Merged
merged 11 commits into from
Jul 24, 2020
Merged

Convert state resolution to async/await #7942

merged 11 commits into from
Jul 24, 2020

Conversation

clokep
Copy link
Member

@clokep clokep commented Jul 23, 2020

This one got larger than I wanted, but should be reviewable commit by commit.

It converts synapse.state to async/await.

There was still a decent number of places that hooked into this, so I ended up adding quite a few ensureDeferred 😢

One question I had was that we use clock.sleep(0) in some of the v2 algorithm, I wonder if that should be asyncio.sleep instead? clock.sleep returns a Deferred so it will work OK.

@clokep clokep requested a review from a team July 23, 2020 22:34
@richvdh
Copy link
Member

richvdh commented Jul 24, 2020

One question I had was that we use clock.sleep(0) in some of the v2 algorithm, I wonder if that should be asyncio.sleep instead? clock.sleep returns a Deferred so it will work OK.

I think asyncio.sleep only works if you're using an asyncio event loop (which we're not).

Copy link
Member

@richvdh richvdh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@clokep clokep merged commit b975fa2 into develop Jul 24, 2020
@clokep clokep deleted the clokep/async-state branch July 24, 2020 14:59
anoadragon453 added a commit that referenced this pull request Jul 28, 2020
…rove_test_times

* 'develop' of github.com:matrix-org/synapse: (148 commits)
  Add script for finding files with unix line terminators (#7965)
  Convert the remaining media repo code to async / await. (#7947)
  Convert a synapse.events to async/await. (#7949)
  Convert groups and visibility code to async / await. (#7951)
  Convert push to async/await. (#7948)
  update changelog
  1.18.0rc1
  Fix error reporting when using `opentracing.trace` (#7961)
  Fix typing replication not being handled on master (#7959)
  Remove hacky error handling for inlineDeferreds. (#7950)
  Convert tests/rest/admin/test_room.py to unix file endings (#7953)
  Support oEmbed for media previews. (#7920)
  Convert state resolution to async/await (#7942)
  Fix up types and comments that refer to Deferreds. (#7945)
  Do not convert async functions to Deferreds in the interactive_auth_handler (#7944)
  Convert more of the media code to async/await (#7873)
  Return an empty body for OPTIONS requests. (#7886)
  Downgrade warning on client disconnect to INFO (#7928)
  Convert presence handler helpers to async/await. (#7939)
  Update the auth providers to be async. (#7935)
  ...
@clokep clokep mentioned this pull request Jul 30, 2020
48 tasks
babolivier pushed a commit that referenced this pull request Sep 1, 2021
* commit 'f88c48f3b':
  1.18.0rc1
  Fix error reporting when using `opentracing.trace` (#7961)
  Fix typing replication not being handled on master (#7959)
  Remove hacky error handling for inlineDeferreds. (#7950)
  Convert tests/rest/admin/test_room.py to unix file endings (#7953)
  Support oEmbed for media previews. (#7920)
  Convert state resolution to async/await (#7942)
  Fix up types and comments that refer to Deferreds. (#7945)
  Do not convert async functions to Deferreds in the interactive_auth_handler (#7944)
  Convert more of the media code to async/await (#7873)
  Return an empty body for OPTIONS requests. (#7886)
  Downgrade warning on client disconnect to INFO (#7928)
  Convert presence handler helpers to async/await. (#7939)
  Update the auth providers to be async. (#7935)
  Put a cache on `/state_ids` (#7931)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants