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

Commit

Permalink
Merge pull request #837 from matrix-org/markjh/synchrotron_presence_list
Browse files Browse the repository at this point in the history
Add get_presence_list_accepted to the broken caches in synchrotron
  • Loading branch information
NegativeMjark committed Jun 3, 2016
2 parents f6be734 + ac9716f commit 040a560
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions synapse/app/synchrotron.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
from synapse.server import HomeServer
from synapse.storage.client_ips import ClientIpStore
from synapse.storage.engines import create_engine
from synapse.storage.presence import UserPresenceState
from synapse.storage.presence import PresenceStore, UserPresenceState
from synapse.storage.roommember import RoomMemberStore
from synapse.util.async import sleep
from synapse.util.httpresourcetree import create_resource_tree
Expand Down Expand Up @@ -122,11 +122,8 @@ class SynchrotronSlavedStore(
SlavedFilteringStore,
SlavedPresenceStore,
BaseSlavedStore,
ClientIpStore, # After BaseSlavedStre because the constructor is different
ClientIpStore, # After BaseSlavedStore because the constructor is different
):
def get_presence_list_accepted(self, user_localpart):
return ()

# XXX: This is a bit broken because we don't persist forgotten rooms
# in a way that they can be streamed. This means that we don't have a
# way to invalidate the forgotten rooms cache correctly.
Expand All @@ -136,6 +133,13 @@ def get_presence_list_accepted(self, user_localpart):
RoomMemberStore.__dict__["who_forgot_in_room"]
)

# XXX: This is a bit broken because we don't persist the accepted list in a
# way that can be replicated. This means that we don't have a way to
# invalidate the cache correctly.
get_presence_list_accepted = PresenceStore.__dict__[
"get_presence_list_accepted"
]

UPDATE_SYNCING_USERS_MS = 10 * 1000


Expand Down Expand Up @@ -357,6 +361,7 @@ def replicate(self):

def expire_broken_caches():
store.who_forgot_in_room.invalidate_all()
store.get_presence_list_accepted.invalidate_all()

def notify_from_stream(
result, stream_name, stream_key, room=None, user=None
Expand Down

0 comments on commit 040a560

Please sign in to comment.