Skip to content
Snippets Groups Projects
  1. Jan 12, 2023
  2. Nov 30, 2022
  3. Oct 04, 2022
  4. Sep 26, 2022
  5. Sep 23, 2022
  6. Sep 01, 2022
  7. Aug 09, 2022
  8. Jul 15, 2022
  9. Jul 08, 2022
  10. Jul 04, 2022
  11. Jun 30, 2022
  12. Jun 29, 2022
  13. Jun 28, 2022
  14. Jun 17, 2022
  15. Jun 15, 2022
    • Erik Johnston's avatar
      Speed up `get_unread_event_push_actions_by_room` (#13005) · 0d1d3e07
      Erik Johnston authored
      Fixes #11887 hopefully.
      
      The core change here is that `event_push_summary` now holds a summary of counts up until a much more recent point, meaning that the range of rows we need to count in `event_push_actions` is much smaller.
      
      This needs two major changes:
      1. When we get a receipt we need to recalculate `event_push_summary` rather than just delete it
      2. The logic for deleting `event_push_actions` is now divorced from calculating `event_push_summary`.
      
      In future it would be good to calculate `event_push_summary` while we persist a new event (it should just be a case of adding one to the relevant rows in `event_push_summary`), as that will further simplify the get counts logic and remove the need for us to periodically update `event_push_summary` in a background job.
      Unverified
      0d1d3e07
  16. Feb 28, 2022
  17. Feb 23, 2022
  18. Dec 21, 2021
  19. Sep 08, 2021
  20. Apr 14, 2021
  21. Apr 09, 2021
  22. Apr 06, 2021
  23. Feb 16, 2021
  24. Sep 02, 2020
  25. Aug 27, 2020
  26. Aug 17, 2020
  27. Aug 05, 2020
  28. Jul 30, 2020
  29. Jul 27, 2020
  30. Jul 01, 2020
  31. Jun 12, 2020
  32. Jun 10, 2020
  33. May 13, 2020
    • Erik Johnston's avatar
      Shuffle persist event data store functions. (#7440) · 782e4e64
      Erik Johnston authored
      The aim here is to get to a stage where we have a `PersistEventStore` that holds all the write methods used during event persistence, so that we can take that class out of the `DataStore` mixin and instansiate it separately. This will allow us to instansiate it on processes other than master, while also ensuring it is only available on processes that are configured to write to events stream.
      
      This is a bit of an architectural change, where we end up with multiple classes per data store (rather than one per data store we have now). We end up having:
      
      1. Storage classes that provide high level APIs that can talk to multiple data stores.
      2. Data store modules that consist of classes that must point at the same database instance.
      3. Classes in a data store that can be instantiated on processes depending on config.
      Unverified
      782e4e64
  34. Dec 05, 2019
  35. Dec 04, 2019
Loading