diff options
author | David Robertson <davidr@element.io> | 2021-11-15 17:24:39 +0000 |
---|---|---|
committer | David Robertson <davidr@element.io> | 2021-11-16 18:46:52 +0000 |
commit | 13b9509e7648bc259d03cb2cea86cbb28848f926 (patch) | |
tree | baa8fb81bf1accc30aef34566dda35f48d3dfe57 | |
parent | Pull in StatsStore (diff) | |
download | synapse-13b9509e7648bc259d03cb2cea86cbb28848f926.tar.xz |
Pull in RoomMemberWorkerStore
for get_rooms_for_user_with_stream_ordering. This was the most painful MRO problem to resolve. Remove BaseSlavedStore and SlavedEventStore from GenericWorkerSlavedStore. These are already pulled in indirectly by inheriting from SlavedPushRuleStore.
-rw-r--r-- | synapse/app/admin_cmd.py | 1 | ||||
-rw-r--r-- | synapse/app/generic_worker.py | 5 | ||||
-rw-r--r-- | synapse/replication/slave/storage/events.py | 1 | ||||
-rw-r--r-- | synapse/replication/slave/storage/push_rule.py | 2 | ||||
-rw-r--r-- | synapse/storage/databases/main/cache.py | 2 | ||||
-rw-r--r-- | synapse/storage/databases/main/push_rule.py | 1 |
6 files changed, 3 insertions, 9 deletions
diff --git a/synapse/app/admin_cmd.py b/synapse/app/admin_cmd.py index 42238f7f28..8b6e508ca3 100644 --- a/synapse/app/admin_cmd.py +++ b/synapse/app/admin_cmd.py @@ -61,7 +61,6 @@ class AdminCmdSlavedStore( SlavedPushRuleStore, SlavedEventStore, SlavedClientIpStore, - BaseSlavedStore, RoomWorkerStore, ): pass diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py index 54cd2cbc13..2549a145b6 100644 --- a/synapse/app/generic_worker.py +++ b/synapse/app/generic_worker.py @@ -47,14 +47,12 @@ from synapse.http.site import SynapseRequest, SynapseSite from synapse.logging.context import LoggingContext from synapse.metrics import METRICS_PREFIX, MetricsResource, RegistryProxy from synapse.replication.http import REPLICATION_PREFIX, ReplicationRestResource -from synapse.replication.slave.storage._base import BaseSlavedStore from synapse.replication.slave.storage.account_data import SlavedAccountDataStore from synapse.replication.slave.storage.appservice import SlavedApplicationServiceStore from synapse.replication.slave.storage.client_ips import SlavedClientIpStore from synapse.replication.slave.storage.deviceinbox import SlavedDeviceInboxStore from synapse.replication.slave.storage.devices import SlavedDeviceStore from synapse.replication.slave.storage.directory import DirectoryStore -from synapse.replication.slave.storage.events import SlavedEventStore from synapse.replication.slave.storage.filtering import SlavedFilteringStore from synapse.replication.slave.storage.groups import SlavedGroupServerStore from synapse.replication.slave.storage.keys import SlavedKeyStore @@ -114,7 +112,6 @@ from synapse.storage.databases.main.presence import PresenceStore from synapse.storage.databases.main.room import RoomWorkerStore from synapse.storage.databases.main.search import SearchStore from synapse.storage.databases.main.session import SessionStore -from synapse.storage.databases.main.stats import StatsStore from synapse.storage.databases.main.transactions import TransactionWorkerStore from synapse.storage.databases.main.ui_auth import UIAuthWorkerStore from synapse.storage.databases.main.user_directory import UserDirectoryStore @@ -235,7 +232,6 @@ class GenericWorkerSlavedStore( SlavedPusherStore, CensorEventsStore, ClientIpWorkerStore, - SlavedEventStore, SlavedKeyStore, RoomWorkerStore, DirectoryStore, @@ -251,7 +247,6 @@ class GenericWorkerSlavedStore( TransactionWorkerStore, LockStore, SessionStore, - BaseSlavedStore, ): # Properties that multiple storage classes define. Tell mypy what the # expected type is. diff --git a/synapse/replication/slave/storage/events.py b/synapse/replication/slave/storage/events.py index 4fe829aa5b..032e921a1e 100644 --- a/synapse/replication/slave/storage/events.py +++ b/synapse/replication/slave/storage/events.py @@ -47,7 +47,6 @@ logger = logging.getLogger(__name__) class SlavedEventStore( - RoomMemberWorkerStore, StateGroupWorkerStore, UserErasureWorkerStore, BaseSlavedStore, diff --git a/synapse/replication/slave/storage/push_rule.py b/synapse/replication/slave/storage/push_rule.py index 4d5f862862..061511d78b 100644 --- a/synapse/replication/slave/storage/push_rule.py +++ b/synapse/replication/slave/storage/push_rule.py @@ -20,7 +20,7 @@ from synapse.storage.databases.main.push_rule import PushRulesWorkerStore from .events import SlavedEventStore -class SlavedPushRuleStore(SlavedEventStore, PushRulesWorkerStore): +class SlavedPushRuleStore(PushRulesWorkerStore, SlavedEventStore): def get_max_push_rules_stream_id(self): return self._push_rules_stream_id_gen.get_current_token() diff --git a/synapse/storage/databases/main/cache.py b/synapse/storage/databases/main/cache.py index cbd224d4c2..b067050fb8 100644 --- a/synapse/storage/databases/main/cache.py +++ b/synapse/storage/databases/main/cache.py @@ -34,6 +34,7 @@ from synapse.storage.databases.main.event_push_actions import ( EventPushActionsWorkerStore, ) from synapse.storage.databases.main.relations import RelationsWorkerStore +from synapse.storage.databases.main.roommember import RoomMemberWorkerStore from synapse.storage.databases.main.stats import StatsStore from synapse.storage.databases.main.stream import StreamWorkerStore from synapse.storage.engines import PostgresEngine @@ -61,6 +62,7 @@ class CacheInvalidationWorkerStore( EventPushActionsWorkerStore, StreamWorkerStore, StatsStore, + RoomMemberWorkerStore, ): # This class must be mixed in with a child class which provides the following # attribute. TODO: can we get static analysis to enforce this? diff --git a/synapse/storage/databases/main/push_rule.py b/synapse/storage/databases/main/push_rule.py index fa782023d4..2e1102cbca 100644 --- a/synapse/storage/databases/main/push_rule.py +++ b/synapse/storage/databases/main/push_rule.py @@ -71,7 +71,6 @@ class PushRulesWorkerStore( PusherWorkerStore, RoomMemberWorkerStore, EventsWorkerStore, - SQLBaseStore, metaclass=abc.ABCMeta, ): """This is an abstract base class where subclasses must implement |