diff --git a/synapse/api/auth.py b/synapse/api/auth.py
index 683241201c..01c32417d8 100644
--- a/synapse/api/auth.py
+++ b/synapse/api/auth.py
@@ -60,7 +60,7 @@ class Auth:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state = hs.get_state_handler()
self._account_validity_handler = hs.get_account_validity_handler()
diff --git a/synapse/api/auth_blocking.py b/synapse/api/auth_blocking.py
index 08fe160c98..22348d2d86 100644
--- a/synapse/api/auth_blocking.py
+++ b/synapse/api/auth_blocking.py
@@ -28,7 +28,7 @@ logger = logging.getLogger(__name__)
class AuthBlocking:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._server_notices_mxid = hs.config.servernotices.server_notices_mxid
self._hs_disabled = hs.config.server.hs_disabled
diff --git a/synapse/api/filtering.py b/synapse/api/filtering.py
index d087c816db..fe4cc2e8ee 100644
--- a/synapse/api/filtering.py
+++ b/synapse/api/filtering.py
@@ -150,7 +150,7 @@ def matrix_user_id_validator(user_id_str: str) -> UserID:
class Filtering:
def __init__(self, hs: "HomeServer"):
self._hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.DEFAULT_FILTER_COLLECTION = FilterCollection(hs, {})
@@ -294,7 +294,7 @@ class FilterCollection:
class Filter:
def __init__(self, hs: "HomeServer", filter_json: JsonDict):
self._hs = hs
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self.filter_json = filter_json
self.limit = filter_json.get("limit", 10)
diff --git a/synapse/app/_base.py b/synapse/app/_base.py
index 452c0c09d5..3e59805baa 100644
--- a/synapse/app/_base.py
+++ b/synapse/app/_base.py
@@ -448,7 +448,7 @@ async def start(hs: "HomeServer") -> None:
# It is now safe to start your Synapse.
hs.start_listening()
- hs.get_datastore().db_pool.start_profiling()
+ hs.get_datastores().main.db_pool.start_profiling()
hs.get_pusherpool().start()
# Log when we start the shut down process.
diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py
index aadc882bf8..1536a42723 100644
--- a/synapse/app/generic_worker.py
+++ b/synapse/app/generic_worker.py
@@ -142,7 +142,7 @@ class KeyUploadServlet(RestServlet):
"""
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.http_client = hs.get_simple_http_client()
self.main_uri = hs.config.worker.worker_main_http_uri
diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py
index bfb30003c2..b9931001c2 100644
--- a/synapse/app/homeserver.py
+++ b/synapse/app/homeserver.py
@@ -372,7 +372,7 @@ def setup(config_options: List[str]) -> SynapseHomeServer:
await _base.start(hs)
- hs.get_datastore().db_pool.updates.start_doing_background_updates()
+ hs.get_datastores().main.db_pool.updates.start_doing_background_updates()
register_start(start)
diff --git a/synapse/app/phone_stats_home.py b/synapse/app/phone_stats_home.py
index 899dba5c3d..40dbdace8e 100644
--- a/synapse/app/phone_stats_home.py
+++ b/synapse/app/phone_stats_home.py
@@ -82,7 +82,7 @@ async def phone_stats_home(
# General statistics
#
- store = hs.get_datastore()
+ store = hs.get_datastores().main
stats["homeserver"] = hs.config.server.server_name
stats["server_context"] = hs.config.server.server_context
@@ -170,18 +170,22 @@ def start_phone_stats_home(hs: "HomeServer") -> None:
# Rather than update on per session basis, batch up the requests.
# If you increase the loop period, the accuracy of user_daily_visits
# table will decrease
- clock.looping_call(hs.get_datastore().generate_user_daily_visits, 5 * 60 * 1000)
+ clock.looping_call(
+ hs.get_datastores().main.generate_user_daily_visits, 5 * 60 * 1000
+ )
# monthly active user limiting functionality
- clock.looping_call(hs.get_datastore().reap_monthly_active_users, 1000 * 60 * 60)
- hs.get_datastore().reap_monthly_active_users()
+ clock.looping_call(
+ hs.get_datastores().main.reap_monthly_active_users, 1000 * 60 * 60
+ )
+ hs.get_datastores().main.reap_monthly_active_users()
@wrap_as_background_process("generate_monthly_active_users")
async def generate_monthly_active_users() -> None:
current_mau_count = 0
current_mau_count_by_service = {}
reserved_users: Sized = ()
- store = hs.get_datastore()
+ store = hs.get_datastores().main
if hs.config.server.limit_usage_by_mau or hs.config.server.mau_stats_only:
current_mau_count = await store.get_monthly_active_count()
current_mau_count_by_service = (
diff --git a/synapse/appservice/scheduler.py b/synapse/appservice/scheduler.py
index c42fa32fff..b4e602e880 100644
--- a/synapse/appservice/scheduler.py
+++ b/synapse/appservice/scheduler.py
@@ -92,7 +92,7 @@ class ApplicationServiceScheduler:
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.as_api = hs.get_application_service_api()
self.txn_ctrl = _TransactionController(self.clock, self.store, self.as_api)
diff --git a/synapse/crypto/keyring.py b/synapse/crypto/keyring.py
index 72d4a69aac..93d56c077a 100644
--- a/synapse/crypto/keyring.py
+++ b/synapse/crypto/keyring.py
@@ -476,7 +476,7 @@ class StoreKeyFetcher(KeyFetcher):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def _fetch_keys(
self, keys_to_fetch: List[_FetchKeyRequest]
@@ -498,7 +498,7 @@ class BaseV2KeyFetcher(KeyFetcher):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.config = hs.config
async def process_v2_response(
diff --git a/synapse/events/builder.py b/synapse/events/builder.py
index eb39e0ae32..1ea1bb7d37 100644
--- a/synapse/events/builder.py
+++ b/synapse/events/builder.py
@@ -189,7 +189,7 @@ class EventBuilderFactory:
self.hostname = hs.hostname
self.signing_key = hs.signing_key
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state = hs.get_state_handler()
self._event_auth_handler = hs.get_event_auth_handler()
diff --git a/synapse/events/third_party_rules.py b/synapse/events/third_party_rules.py
index 1bb8ca7145..71ec100a7f 100644
--- a/synapse/events/third_party_rules.py
+++ b/synapse/events/third_party_rules.py
@@ -143,7 +143,7 @@ class ThirdPartyEventRules:
def __init__(self, hs: "HomeServer"):
self.third_party_rules = None
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._check_event_allowed_callbacks: List[CHECK_EVENT_ALLOWED_CALLBACK] = []
self._on_create_room_callbacks: List[ON_CREATE_ROOM_CALLBACK] = []
diff --git a/synapse/federation/federation_base.py b/synapse/federation/federation_base.py
index fab6da3c08..41ac49fdc8 100644
--- a/synapse/federation/federation_base.py
+++ b/synapse/federation/federation_base.py
@@ -39,7 +39,7 @@ class FederationBase:
self.server_name = hs.hostname
self.keyring = hs.get_keyring()
self.spam_checker = hs.get_spam_checker()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._clock = hs.get_clock()
async def _check_sigs_and_hash(
diff --git a/synapse/federation/sender/__init__.py b/synapse/federation/sender/__init__.py
index 720d7bd74d..6106a486d1 100644
--- a/synapse/federation/sender/__init__.py
+++ b/synapse/federation/sender/__init__.py
@@ -228,7 +228,7 @@ class FederationSender(AbstractFederationSender):
self.hs = hs
self.server_name = hs.hostname
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state = hs.get_state_handler()
self.clock = hs.get_clock()
diff --git a/synapse/federation/sender/per_destination_queue.py b/synapse/federation/sender/per_destination_queue.py
index c3132f7319..c8768f22bc 100644
--- a/synapse/federation/sender/per_destination_queue.py
+++ b/synapse/federation/sender/per_destination_queue.py
@@ -76,7 +76,7 @@ class PerDestinationQueue:
):
self._server_name = hs.hostname
self._clock = hs.get_clock()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._transaction_manager = transaction_manager
self._instance_name = hs.get_instance_name()
self._federation_shard_config = hs.config.worker.federation_shard_config
@@ -381,9 +381,8 @@ class PerDestinationQueue:
)
)
- last_successful_stream_ordering = self._last_successful_stream_ordering
-
- if last_successful_stream_ordering is None:
+ _tmp_last_successful_stream_ordering = self._last_successful_stream_ordering
+ if _tmp_last_successful_stream_ordering is None:
# if it's still None, then this means we don't have the information
# in our database  we haven't successfully sent a PDU to this server
# (at least since the introduction of the feature tracking
@@ -393,6 +392,8 @@ class PerDestinationQueue:
self._catching_up = False
return
+ last_successful_stream_ordering: int = _tmp_last_successful_stream_ordering
+
# get at most 50 catchup room/PDUs
while True:
event_ids = await self._store.get_catch_up_room_event_ids(
diff --git a/synapse/federation/sender/transaction_manager.py b/synapse/federation/sender/transaction_manager.py
index 742ee57255..0c1cad86ab 100644
--- a/synapse/federation/sender/transaction_manager.py
+++ b/synapse/federation/sender/transaction_manager.py
@@ -53,7 +53,7 @@ class TransactionManager:
def __init__(self, hs: "synapse.server.HomeServer"):
self._server_name = hs.hostname
self.clock = hs.get_clock() # nb must be called this for @measure_func
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._transaction_actions = TransactionActions(self._store)
self._transport_layer = hs.get_federation_transport_client()
diff --git a/synapse/federation/transport/server/_base.py b/synapse/federation/transport/server/_base.py
index dff2b68359..87e99c7ddf 100644
--- a/synapse/federation/transport/server/_base.py
+++ b/synapse/federation/transport/server/_base.py
@@ -55,7 +55,7 @@ class Authenticator:
self._clock = hs.get_clock()
self.keyring = hs.get_keyring()
self.server_name = hs.hostname
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.federation_domain_whitelist = (
hs.config.federation.federation_domain_whitelist
)
diff --git a/synapse/federation/transport/server/federation.py b/synapse/federation/transport/server/federation.py
index 4d75e58bfc..9cc9a7339d 100644
--- a/synapse/federation/transport/server/federation.py
+++ b/synapse/federation/transport/server/federation.py
@@ -746,7 +746,7 @@ class RoomComplexityServlet(BaseFederationServlet):
server_name: str,
):
super().__init__(hs, authenticator, ratelimiter, server_name)
- self._store = self.hs.get_datastore()
+ self._store = self.hs.get_datastores().main
async def on_GET(
self,
diff --git a/synapse/groups/attestations.py b/synapse/groups/attestations.py
index a87896e538..ed26d6a6ce 100644
--- a/synapse/groups/attestations.py
+++ b/synapse/groups/attestations.py
@@ -140,7 +140,7 @@ class GroupAttestionRenewer:
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.assestations = hs.get_groups_attestation_signing()
self.transport_client = hs.get_federation_transport_client()
self.is_mine_id = hs.is_mine_id
diff --git a/synapse/groups/groups_server.py b/synapse/groups/groups_server.py
index 449bbc7004..4c3a5a6e24 100644
--- a/synapse/groups/groups_server.py
+++ b/synapse/groups/groups_server.py
@@ -45,7 +45,7 @@ MAX_LONG_DESC_LEN = 10000
class GroupsServerWorkerHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.room_list_handler = hs.get_room_list_handler()
self.auth = hs.get_auth()
self.clock = hs.get_clock()
diff --git a/synapse/handlers/account_data.py b/synapse/handlers/account_data.py
index bad48713bc..177b4f8991 100644
--- a/synapse/handlers/account_data.py
+++ b/synapse/handlers/account_data.py
@@ -30,7 +30,7 @@ if TYPE_CHECKING:
class AccountDataHandler:
def __init__(self, hs: "HomeServer"):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._instance_name = hs.get_instance_name()
self._notifier = hs.get_notifier()
@@ -166,7 +166,7 @@ class AccountDataHandler:
class AccountDataEventSource(EventSource[int, JsonDict]):
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
def get_current_key(self, direction: str = "f") -> int:
return self.store.get_max_account_data_stream_id()
diff --git a/synapse/handlers/account_validity.py b/synapse/handlers/account_validity.py
index 87e415df75..9d0975f636 100644
--- a/synapse/handlers/account_validity.py
+++ b/synapse/handlers/account_validity.py
@@ -43,7 +43,7 @@ class AccountValidityHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self.config = hs.config
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.send_email_handler = self.hs.get_send_email_handler()
self.clock = self.hs.get_clock()
diff --git a/synapse/handlers/admin.py b/synapse/handlers/admin.py
index 00ab5e79bf..96376963f2 100644
--- a/synapse/handlers/admin.py
+++ b/synapse/handlers/admin.py
@@ -29,7 +29,7 @@ logger = logging.getLogger(__name__)
class AdminHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state_store = self.storage.state
diff --git a/synapse/handlers/appservice.py b/synapse/handlers/appservice.py
index a42c3558e4..e6461cc3c9 100644
--- a/synapse/handlers/appservice.py
+++ b/synapse/handlers/appservice.py
@@ -47,7 +47,7 @@ events_processed_counter = Counter("synapse_handlers_appservice_events_processed
class ApplicationServicesHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.is_mine_id = hs.is_mine_id
self.appservice_api = hs.get_application_service_api()
self.scheduler = hs.get_application_service_scheduler()
diff --git a/synapse/handlers/auth.py b/synapse/handlers/auth.py
index 572f54b1e3..3e29c96a49 100644
--- a/synapse/handlers/auth.py
+++ b/synapse/handlers/auth.py
@@ -194,7 +194,7 @@ class AuthHandler:
SESSION_EXPIRE_MS = 48 * 60 * 60 * 1000
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self.checkers: Dict[str, UserInteractiveAuthChecker] = {}
@@ -1183,7 +1183,7 @@ class AuthHandler:
# No password providers were able to handle this 3pid
# Check local store
- user_id = await self.hs.get_datastore().get_user_id_by_threepid(
+ user_id = await self.hs.get_datastores().main.get_user_id_by_threepid(
medium, address
)
if not user_id:
diff --git a/synapse/handlers/cas.py b/synapse/handlers/cas.py
index 5d8f6c50a9..7163af8004 100644
--- a/synapse/handlers/cas.py
+++ b/synapse/handlers/cas.py
@@ -61,7 +61,7 @@ class CasHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self._hostname = hs.hostname
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._auth_handler = hs.get_auth_handler()
self._registration_handler = hs.get_registration_handler()
diff --git a/synapse/handlers/deactivate_account.py b/synapse/handlers/deactivate_account.py
index 7a13d76a68..e4eae03056 100644
--- a/synapse/handlers/deactivate_account.py
+++ b/synapse/handlers/deactivate_account.py
@@ -29,7 +29,7 @@ class DeactivateAccountHandler:
"""Handler which deals with deactivating user accounts."""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.hs = hs
self._auth_handler = hs.get_auth_handler()
self._device_handler = hs.get_device_handler()
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py
index 36c05f8363..934b5bd734 100644
--- a/synapse/handlers/device.py
+++ b/synapse/handlers/device.py
@@ -63,7 +63,7 @@ class DeviceWorkerHandler:
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.notifier = hs.get_notifier()
self.state = hs.get_state_handler()
self.state_store = hs.get_storage().state
@@ -628,7 +628,7 @@ class DeviceListUpdater:
"Handles incoming device list updates from federation and updates the DB"
def __init__(self, hs: "HomeServer", device_handler: DeviceHandler):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.federation = hs.get_federation_client()
self.clock = hs.get_clock()
self.device_handler = device_handler
diff --git a/synapse/handlers/devicemessage.py b/synapse/handlers/devicemessage.py
index b582266af9..4cb725d027 100644
--- a/synapse/handlers/devicemessage.py
+++ b/synapse/handlers/devicemessage.py
@@ -43,7 +43,7 @@ class DeviceMessageHandler:
Args:
hs: server
"""
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.notifier = hs.get_notifier()
self.is_mine = hs.is_mine
diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py
index 082f521791..b7064c6624 100644
--- a/synapse/handlers/directory.py
+++ b/synapse/handlers/directory.py
@@ -44,7 +44,7 @@ class DirectoryHandler:
self.state = hs.get_state_handler()
self.appservice_handler = hs.get_application_service_handler()
self.event_creation_handler = hs.get_event_creation_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.config = hs.config
self.enable_room_list_search = hs.config.roomdirectory.enable_room_list_search
self.require_membership = hs.config.server.require_membership_for_aliases
diff --git a/synapse/handlers/e2e_keys.py b/synapse/handlers/e2e_keys.py
index d4dfddf63f..d96456cd40 100644
--- a/synapse/handlers/e2e_keys.py
+++ b/synapse/handlers/e2e_keys.py
@@ -47,7 +47,7 @@ logger = logging.getLogger(__name__)
class E2eKeysHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.federation = hs.get_federation_client()
self.device_handler = hs.get_device_handler()
self.is_mine = hs.is_mine
@@ -1335,7 +1335,7 @@ class SigningKeyEduUpdater:
"""Handles incoming signing key updates from federation and updates the DB"""
def __init__(self, hs: "HomeServer", e2e_keys_handler: E2eKeysHandler):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.federation = hs.get_federation_client()
self.clock = hs.get_clock()
self.e2e_keys_handler = e2e_keys_handler
diff --git a/synapse/handlers/e2e_room_keys.py b/synapse/handlers/e2e_room_keys.py
index 12614b2c5d..52e44a2d42 100644
--- a/synapse/handlers/e2e_room_keys.py
+++ b/synapse/handlers/e2e_room_keys.py
@@ -45,7 +45,7 @@ class E2eRoomKeysHandler:
"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
# Used to lock whenever a client is uploading key data. This prevents collisions
# between clients trying to upload the details of a new session, given all
diff --git a/synapse/handlers/event_auth.py b/synapse/handlers/event_auth.py
index 365063ebdf..d441ebb0ab 100644
--- a/synapse/handlers/event_auth.py
+++ b/synapse/handlers/event_auth.py
@@ -43,7 +43,7 @@ class EventAuthHandler:
def __init__(self, hs: "HomeServer"):
self._clock = hs.get_clock()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._server_name = hs.hostname
async def check_auth_rules_from_context(
diff --git a/synapse/handlers/events.py b/synapse/handlers/events.py
index bac5de0526..97e75e60c3 100644
--- a/synapse/handlers/events.py
+++ b/synapse/handlers/events.py
@@ -33,7 +33,7 @@ logger = logging.getLogger(__name__)
class EventStreamHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.hs = hs
@@ -134,7 +134,7 @@ class EventStreamHandler:
class EventHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
async def get_event(
diff --git a/synapse/handlers/federation.py b/synapse/handlers/federation.py
index e9ac920bcc..c055c26eca 100644
--- a/synapse/handlers/federation.py
+++ b/synapse/handlers/federation.py
@@ -107,7 +107,7 @@ class FederationHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state_store = self.storage.state
self.federation_client = hs.get_federation_client()
diff --git a/synapse/handlers/federation_event.py b/synapse/handlers/federation_event.py
index 7683246bef..09d0de1ead 100644
--- a/synapse/handlers/federation_event.py
+++ b/synapse/handlers/federation_event.py
@@ -95,7 +95,7 @@ class FederationEventHandler:
"""
def __init__(self, hs: "HomeServer"):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._storage = hs.get_storage()
self._state_store = self._storage.state
diff --git a/synapse/handlers/groups_local.py b/synapse/handlers/groups_local.py
index 9e270d461b..e7a399787b 100644
--- a/synapse/handlers/groups_local.py
+++ b/synapse/handlers/groups_local.py
@@ -63,7 +63,7 @@ def _create_rerouter(func_name: str) -> Callable[..., Awaitable[JsonDict]]:
class GroupsLocalWorkerHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.room_list_handler = hs.get_room_list_handler()
self.groups_server_handler = hs.get_groups_server_handler()
self.transport_client = hs.get_federation_transport_client()
diff --git a/synapse/handlers/identity.py b/synapse/handlers/identity.py
index c83eaea359..57c9fdfe62 100644
--- a/synapse/handlers/identity.py
+++ b/synapse/handlers/identity.py
@@ -49,7 +49,7 @@ id_server_scheme = "https://"
class IdentityHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
# An HTTP client for contacting trusted URLs.
self.http_client = SimpleHttpClient(hs)
# An HTTP client for contacting identity servers specified by clients.
diff --git a/synapse/handlers/initial_sync.py b/synapse/handlers/initial_sync.py
index 346a06ff49..344f20f37c 100644
--- a/synapse/handlers/initial_sync.py
+++ b/synapse/handlers/initial_sync.py
@@ -46,7 +46,7 @@ logger = logging.getLogger(__name__)
class InitialSyncHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.state_handler = hs.get_state_handler()
self.hs = hs
diff --git a/synapse/handlers/message.py b/synapse/handlers/message.py
index 4d0da84287..a9c964cd75 100644
--- a/synapse/handlers/message.py
+++ b/synapse/handlers/message.py
@@ -75,7 +75,7 @@ class MessageHandler:
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self.state = hs.get_state_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state_store = self.storage.state
self._event_serializer = hs.get_event_client_serializer()
@@ -397,7 +397,7 @@ class EventCreationHandler:
self.hs = hs
self.auth = hs.get_auth()
self._event_auth_handler = hs.get_event_auth_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state = hs.get_state_handler()
self.clock = hs.get_clock()
diff --git a/synapse/handlers/oidc.py b/synapse/handlers/oidc.py
index 8f71d975e9..593a2aac66 100644
--- a/synapse/handlers/oidc.py
+++ b/synapse/handlers/oidc.py
@@ -273,7 +273,7 @@ class OidcProvider:
token_generator: "OidcSessionTokenGenerator",
provider: OidcProviderConfig,
):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._token_generator = token_generator
diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py
index 973f262964..5c01a426ff 100644
--- a/synapse/handlers/pagination.py
+++ b/synapse/handlers/pagination.py
@@ -127,7 +127,7 @@ class PaginationHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state_store = self.storage.state
self.clock = hs.get_clock()
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py
index b223b72623..c155098bee 100644
--- a/synapse/handlers/presence.py
+++ b/synapse/handlers/presence.py
@@ -133,7 +133,7 @@ class BasePresenceHandler(abc.ABC):
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.presence_router = hs.get_presence_router()
self.state = hs.get_state_handler()
self.is_mine_id = hs.is_mine_id
@@ -1541,7 +1541,7 @@ class PresenceEventSource(EventSource[int, UserPresenceState]):
self.get_presence_handler = hs.get_presence_handler
self.get_presence_router = hs.get_presence_router
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def get_new_events(
self,
diff --git a/synapse/handlers/profile.py b/synapse/handlers/profile.py
index 36e3ad2ba9..dd27f0accc 100644
--- a/synapse/handlers/profile.py
+++ b/synapse/handlers/profile.py
@@ -54,7 +54,7 @@ class ProfileHandler:
PROFILE_UPDATE_EVERY_MS = 24 * 60 * 60 * 1000
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.hs = hs
diff --git a/synapse/handlers/read_marker.py b/synapse/handlers/read_marker.py
index 58593e570e..bad1acc634 100644
--- a/synapse/handlers/read_marker.py
+++ b/synapse/handlers/read_marker.py
@@ -26,7 +26,7 @@ logger = logging.getLogger(__name__)
class ReadMarkerHandler:
def __init__(self, hs: "HomeServer"):
self.server_name = hs.config.server.server_name
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.account_data_handler = hs.get_account_data_handler()
self.read_marker_linearizer = Linearizer(name="read_marker")
diff --git a/synapse/handlers/receipts.py b/synapse/handlers/receipts.py
index 5cb1ff749d..b4132c353a 100644
--- a/synapse/handlers/receipts.py
+++ b/synapse/handlers/receipts.py
@@ -29,7 +29,7 @@ class ReceiptsHandler:
def __init__(self, hs: "HomeServer"):
self.notifier = hs.get_notifier()
self.server_name = hs.config.server.server_name
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.event_auth_handler = hs.get_event_auth_handler()
self.hs = hs
@@ -163,7 +163,7 @@ class ReceiptsHandler:
class ReceiptEventSource(EventSource[int, JsonDict]):
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.config = hs.config
@staticmethod
diff --git a/synapse/handlers/register.py b/synapse/handlers/register.py
index 80320d2c07..05bb1e0225 100644
--- a/synapse/handlers/register.py
+++ b/synapse/handlers/register.py
@@ -86,7 +86,7 @@ class LoginDict(TypedDict):
class RegistrationHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.hs = hs
self.auth = hs.get_auth()
diff --git a/synapse/handlers/room.py b/synapse/handlers/room.py
index a990727fc5..7b965b4b96 100644
--- a/synapse/handlers/room.py
+++ b/synapse/handlers/room.py
@@ -105,7 +105,7 @@ class EventContext:
class RoomCreationHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self.hs = hs
@@ -1115,7 +1115,7 @@ class RoomContextHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.state_store = self.storage.state
@@ -1246,7 +1246,7 @@ class RoomContextHandler:
class TimestampLookupHandler:
def __init__(self, hs: "HomeServer"):
self.server_name = hs.hostname
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state_handler = hs.get_state_handler()
self.federation_client = hs.get_federation_client()
@@ -1386,7 +1386,7 @@ class TimestampLookupHandler:
class RoomEventSource(EventSource[RoomStreamToken, EventBase]):
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def get_new_events(
self,
@@ -1476,7 +1476,7 @@ class RoomShutdownHandler:
self._room_creation_handler = hs.get_room_creation_handler()
self._replication = hs.get_replication_data_handler()
self.event_creation_handler = hs.get_event_creation_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def shutdown_room(
self,
diff --git a/synapse/handlers/room_batch.py b/synapse/handlers/room_batch.py
index f8137ec04c..abbf7b7b27 100644
--- a/synapse/handlers/room_batch.py
+++ b/synapse/handlers/room_batch.py
@@ -16,7 +16,7 @@ logger = logging.getLogger(__name__)
class RoomBatchHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state_store = hs.get_storage().state
self.event_creation_handler = hs.get_event_creation_handler()
self.room_member_handler = hs.get_room_member_handler()
diff --git a/synapse/handlers/room_list.py b/synapse/handlers/room_list.py
index 1a33211a1f..f3577b5d5a 100644
--- a/synapse/handlers/room_list.py
+++ b/synapse/handlers/room_list.py
@@ -49,7 +49,7 @@ EMPTY_THIRD_PARTY_ID = ThirdPartyInstanceID(None, None)
class RoomListHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.hs = hs
self.enable_room_list_search = hs.config.roomdirectory.enable_room_list_search
self.response_cache: ResponseCache[
diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py
index b2adc0f48b..a582837cf0 100644
--- a/synapse/handlers/room_member.py
+++ b/synapse/handlers/room_member.py
@@ -66,7 +66,7 @@ class RoomMemberHandler(metaclass=abc.ABCMeta):
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.state_handler = hs.get_state_handler()
self.config = hs.config
diff --git a/synapse/handlers/room_summary.py b/synapse/handlers/room_summary.py
index 4844b69a03..2e61d1cbe9 100644
--- a/synapse/handlers/room_summary.py
+++ b/synapse/handlers/room_summary.py
@@ -90,7 +90,7 @@ class RoomSummaryHandler:
def __init__(self, hs: "HomeServer"):
self._event_auth_handler = hs.get_event_auth_handler()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._event_serializer = hs.get_event_client_serializer()
self._server_name = hs.hostname
self._federation_client = hs.get_federation_client()
diff --git a/synapse/handlers/saml.py b/synapse/handlers/saml.py
index 727d75a50c..9602f0d0bb 100644
--- a/synapse/handlers/saml.py
+++ b/synapse/handlers/saml.py
@@ -52,7 +52,7 @@ class Saml2SessionData:
class SamlHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.server_name = hs.hostname
self._saml_client = Saml2Client(hs.config.saml2.saml2_sp_config)
diff --git a/synapse/handlers/search.py b/synapse/handlers/search.py
index 0e0e58de02..aa16e417eb 100644
--- a/synapse/handlers/search.py
+++ b/synapse/handlers/search.py
@@ -49,7 +49,7 @@ class _SearchResult:
class SearchHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state_handler = hs.get_state_handler()
self.clock = hs.get_clock()
self.hs = hs
diff --git a/synapse/handlers/set_password.py b/synapse/handlers/set_password.py
index 706ad72761..73861bbd40 100644
--- a/synapse/handlers/set_password.py
+++ b/synapse/handlers/set_password.py
@@ -27,7 +27,7 @@ class SetPasswordHandler:
"""Handler which deals with changing user account passwords"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._auth_handler = hs.get_auth_handler()
self._device_handler = hs.get_device_handler()
diff --git a/synapse/handlers/sso.py b/synapse/handlers/sso.py
index 0bb8b0929e..ff5b5169ca 100644
--- a/synapse/handlers/sso.py
+++ b/synapse/handlers/sso.py
@@ -180,7 +180,7 @@ class SsoHandler:
def __init__(self, hs: "HomeServer"):
self._clock = hs.get_clock()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._server_name = hs.hostname
self._registration_handler = hs.get_registration_handler()
self._auth_handler = hs.get_auth_handler()
diff --git a/synapse/handlers/state_deltas.py b/synapse/handlers/state_deltas.py
index d30ba2b724..2d197282ed 100644
--- a/synapse/handlers/state_deltas.py
+++ b/synapse/handlers/state_deltas.py
@@ -30,7 +30,7 @@ class MatchChange(Enum):
class StateDeltasHandler:
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def _get_key_change(
self,
diff --git a/synapse/handlers/stats.py b/synapse/handlers/stats.py
index 29e41a4c79..436cd971ce 100644
--- a/synapse/handlers/stats.py
+++ b/synapse/handlers/stats.py
@@ -39,7 +39,7 @@ class StatsHandler:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state = hs.get_state_handler()
self.server_name = hs.hostname
self.clock = hs.get_clock()
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index e6050cbce6..98eaad3318 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -266,7 +266,7 @@ class SyncResult:
class SyncHandler:
def __init__(self, hs: "HomeServer"):
self.hs_config = hs.config
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.notifier = hs.get_notifier()
self.presence_handler = hs.get_presence_handler()
self.event_sources = hs.get_event_sources()
diff --git a/synapse/handlers/typing.py b/synapse/handlers/typing.py
index e4bed1c937..843c68eb0f 100644
--- a/synapse/handlers/typing.py
+++ b/synapse/handlers/typing.py
@@ -57,7 +57,7 @@ class FollowerTypingHandler:
"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.server_name = hs.config.server.server_name
self.clock = hs.get_clock()
self.is_mine_id = hs.is_mine_id
@@ -446,7 +446,7 @@ class TypingWriterHandler(FollowerTypingHandler):
class TypingNotificationEventSource(EventSource[int, JsonDict]):
def __init__(self, hs: "HomeServer"):
- self._main_store = hs.get_datastore()
+ self._main_store = hs.get_datastores().main
self.clock = hs.get_clock()
# We can't call get_typing_handler here because there's a cycle:
#
diff --git a/synapse/handlers/ui_auth/checkers.py b/synapse/handlers/ui_auth/checkers.py
index 184730ebe8..014754a630 100644
--- a/synapse/handlers/ui_auth/checkers.py
+++ b/synapse/handlers/ui_auth/checkers.py
@@ -139,7 +139,7 @@ class RecaptchaAuthChecker(UserInteractiveAuthChecker):
class _BaseThreepidAuthChecker:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def _check_threepid(self, medium: str, authdict: dict) -> dict:
if "threepid_creds" not in authdict:
@@ -255,7 +255,7 @@ class RegistrationTokenAuthChecker(UserInteractiveAuthChecker):
super().__init__(hs)
self.hs = hs
self._enabled = bool(hs.config.registration.registration_requires_token)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
def is_enabled(self) -> bool:
return self._enabled
diff --git a/synapse/handlers/user_directory.py b/synapse/handlers/user_directory.py
index 1565e034cb..d27ed2be6a 100644
--- a/synapse/handlers/user_directory.py
+++ b/synapse/handlers/user_directory.py
@@ -55,7 +55,7 @@ class UserDirectoryHandler(StateDeltasHandler):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.server_name = hs.hostname
self.clock = hs.get_clock()
self.notifier = hs.get_notifier()
diff --git a/synapse/http/matrixfederationclient.py b/synapse/http/matrixfederationclient.py
index e7656fbb9f..40bf1e06d6 100644
--- a/synapse/http/matrixfederationclient.py
+++ b/synapse/http/matrixfederationclient.py
@@ -351,7 +351,7 @@ class MatrixFederationHttpClient:
)
self.clock = hs.get_clock()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self.version_string_bytes = hs.version_string.encode("ascii")
self.default_timeout = 60
diff --git a/synapse/module_api/__init__.py b/synapse/module_api/__init__.py
index 07020bfb8d..902916d800 100644
--- a/synapse/module_api/__init__.py
+++ b/synapse/module_api/__init__.py
@@ -172,7 +172,9 @@ class ModuleApi:
# TODO: Fix this type hint once the types for the data stores have been ironed
# out.
- self._store: Union[DataStore, "GenericWorkerSlavedStore"] = hs.get_datastore()
+ self._store: Union[
+ DataStore, "GenericWorkerSlavedStore"
+ ] = hs.get_datastores().main
self._auth = hs.get_auth()
self._auth_handler = auth_handler
self._server_name = hs.hostname
@@ -926,7 +928,7 @@ class ModuleApi:
)
# Try to retrieve the resulting event.
- event = await self._hs.get_datastore().get_event(event_id)
+ event = await self._hs.get_datastores().main.get_event(event_id)
# update_membership is supposed to always return after the event has been
# successfully persisted.
@@ -1270,7 +1272,7 @@ class PublicRoomListManager:
"""
def __init__(self, hs: "HomeServer"):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def room_is_in_public_room_list(self, room_id: str) -> bool:
"""Checks whether a room is in the public room list.
diff --git a/synapse/notifier.py b/synapse/notifier.py
index 753dd6b6a5..16d15a1f33 100644
--- a/synapse/notifier.py
+++ b/synapse/notifier.py
@@ -222,7 +222,7 @@ class Notifier:
self.hs = hs
self.storage = hs.get_storage()
self.event_sources = hs.get_event_sources()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.pending_new_room_events: List[_PendingRoomEventEntry] = []
# Called when there are new things to stream over replication
diff --git a/synapse/push/__init__.py b/synapse/push/__init__.py
index 5176a1c186..a1b7711098 100644
--- a/synapse/push/__init__.py
+++ b/synapse/push/__init__.py
@@ -68,7 +68,7 @@ class ThrottleParams:
class Pusher(metaclass=abc.ABCMeta):
def __init__(self, hs: "HomeServer", pusher_config: PusherConfig):
self.hs = hs
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.clock = self.hs.get_clock()
self.pusher_id = pusher_config.id
diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py
index bee660893b..fecf86034e 100644
--- a/synapse/push/bulk_push_rule_evaluator.py
+++ b/synapse/push/bulk_push_rule_evaluator.py
@@ -103,7 +103,7 @@ class BulkPushRuleEvaluator:
def __init__(self, hs: "HomeServer"):
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._event_auth_handler = hs.get_event_auth_handler()
# Used by `RulesForRoom` to ensure only one thing mutates the cache at a
@@ -366,7 +366,7 @@ class RulesForRoom:
"""
self.room_id = room_id
self.is_mine_id = hs.is_mine_id
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.room_push_rule_cache_metrics = room_push_rule_cache_metrics
# Used to ensure only one thing mutates the cache at a time. Keyed off
diff --git a/synapse/push/emailpusher.py b/synapse/push/emailpusher.py
index 39bb2acae4..1710dd51b9 100644
--- a/synapse/push/emailpusher.py
+++ b/synapse/push/emailpusher.py
@@ -66,7 +66,7 @@ class EmailPusher(Pusher):
super().__init__(hs, pusher_config)
self.mailer = mailer
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.email = pusher_config.pushkey
self.timed_call: Optional[IDelayedCall] = None
self.throttle_params: Dict[str, ThrottleParams] = {}
diff --git a/synapse/push/httppusher.py b/synapse/push/httppusher.py
index 52c7ff3572..5818344520 100644
--- a/synapse/push/httppusher.py
+++ b/synapse/push/httppusher.py
@@ -133,7 +133,7 @@ class HttpPusher(Pusher):
# XXX as per https://github.com/matrix-org/matrix-doc/issues/2627, this seems
# to be largely redundant. perhaps we can remove it.
badge = await push_tools.get_badge_count(
- self.hs.get_datastore(),
+ self.hs.get_datastores().main,
self.user_id,
group_by_room=self._group_unread_count_by_room,
)
@@ -283,7 +283,7 @@ class HttpPusher(Pusher):
tweaks = push_rule_evaluator.tweaks_for_actions(push_action.actions)
badge = await push_tools.get_badge_count(
- self.hs.get_datastore(),
+ self.hs.get_datastores().main,
self.user_id,
group_by_room=self._group_unread_count_by_room,
)
diff --git a/synapse/push/mailer.py b/synapse/push/mailer.py
index 3df8452eec..649a4f49d0 100644
--- a/synapse/push/mailer.py
+++ b/synapse/push/mailer.py
@@ -112,7 +112,7 @@ class Mailer:
self.template_text = template_text
self.send_email_handler = hs.get_send_email_handler()
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.state_store = self.hs.get_storage().state
self.macaroon_gen = self.hs.get_macaroon_generator()
self.state_handler = self.hs.get_state_handler()
diff --git a/synapse/push/pusherpool.py b/synapse/push/pusherpool.py
index 7912311d24..d0cc657b44 100644
--- a/synapse/push/pusherpool.py
+++ b/synapse/push/pusherpool.py
@@ -59,7 +59,7 @@ class PusherPool:
def __init__(self, hs: "HomeServer"):
self.hs = hs
self.pusher_factory = PusherFactory(hs)
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.clock = self.hs.get_clock()
# We shard the handling of push notifications by user ID.
diff --git a/synapse/replication/http/devices.py b/synapse/replication/http/devices.py
index f2f40129fe..3d63645726 100644
--- a/synapse/replication/http/devices.py
+++ b/synapse/replication/http/devices.py
@@ -63,7 +63,7 @@ class ReplicationUserDevicesResyncRestServlet(ReplicationEndpoint):
super().__init__(hs)
self.device_list_updater = hs.get_device_handler().device_list_updater
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
@staticmethod
diff --git a/synapse/replication/http/federation.py b/synapse/replication/http/federation.py
index d529c8a19f..3e7300b4a1 100644
--- a/synapse/replication/http/federation.py
+++ b/synapse/replication/http/federation.py
@@ -68,7 +68,7 @@ class ReplicationFederationSendEventsRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.clock = hs.get_clock()
self.federation_event_handler = hs.get_federation_event_handler()
@@ -167,7 +167,7 @@ class ReplicationFederationSendEduRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.registry = hs.get_federation_registry()
@@ -214,7 +214,7 @@ class ReplicationGetQueryRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.registry = hs.get_federation_registry()
@@ -260,7 +260,7 @@ class ReplicationCleanRoomRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
@staticmethod
async def _serialize_payload(room_id: str) -> JsonDict: # type: ignore[override]
@@ -297,7 +297,7 @@ class ReplicationStoreRoomOnOutlierMembershipRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
@staticmethod
async def _serialize_payload(room_id: str, room_version: RoomVersion) -> JsonDict: # type: ignore[override]
diff --git a/synapse/replication/http/membership.py b/synapse/replication/http/membership.py
index 0145858e47..663bff5738 100644
--- a/synapse/replication/http/membership.py
+++ b/synapse/replication/http/membership.py
@@ -50,7 +50,7 @@ class ReplicationRemoteJoinRestServlet(ReplicationEndpoint):
super().__init__(hs)
self.federation_handler = hs.get_federation_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
@staticmethod
@@ -119,7 +119,7 @@ class ReplicationRemoteKnockRestServlet(ReplicationEndpoint):
super().__init__(hs)
self.federation_handler = hs.get_federation_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
@staticmethod
@@ -188,7 +188,7 @@ class ReplicationRemoteRejectInviteRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.member_handler = hs.get_room_member_handler()
@@ -258,7 +258,7 @@ class ReplicationRemoteRescindKnockRestServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.member_handler = hs.get_room_member_handler()
@@ -325,7 +325,7 @@ class ReplicationUserJoinedLeftRoomRestServlet(ReplicationEndpoint):
super().__init__(hs)
self.registeration_handler = hs.get_registration_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.distributor = hs.get_distributor()
diff --git a/synapse/replication/http/register.py b/synapse/replication/http/register.py
index c7f751b70d..6c8f8388fd 100644
--- a/synapse/replication/http/register.py
+++ b/synapse/replication/http/register.py
@@ -36,7 +36,7 @@ class ReplicationRegisterServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.registration_handler = hs.get_registration_handler()
@staticmethod
@@ -112,7 +112,7 @@ class ReplicationPostRegisterActionsServlet(ReplicationEndpoint):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.registration_handler = hs.get_registration_handler()
@staticmethod
diff --git a/synapse/replication/http/send_event.py b/synapse/replication/http/send_event.py
index 33e98daf8a..ce78176836 100644
--- a/synapse/replication/http/send_event.py
+++ b/synapse/replication/http/send_event.py
@@ -69,7 +69,7 @@ class ReplicationSendEventRestServlet(ReplicationEndpoint):
super().__init__(hs)
self.event_creation_handler = hs.get_event_creation_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.storage = hs.get_storage()
self.clock = hs.get_clock()
diff --git a/synapse/replication/tcp/client.py b/synapse/replication/tcp/client.py
index d59ce7ccf9..1b8479b0b4 100644
--- a/synapse/replication/tcp/client.py
+++ b/synapse/replication/tcp/client.py
@@ -111,7 +111,7 @@ class ReplicationDataHandler:
"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.notifier = hs.get_notifier()
self._reactor = hs.get_reactor()
self._clock = hs.get_clock()
@@ -340,7 +340,7 @@ class FederationSenderHandler:
def __init__(self, hs: "HomeServer"):
assert hs.should_send_federation()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._is_mine_id = hs.is_mine_id
self._hs = hs
diff --git a/synapse/replication/tcp/handler.py b/synapse/replication/tcp/handler.py
index 17e1572393..0d2013a3cf 100644
--- a/synapse/replication/tcp/handler.py
+++ b/synapse/replication/tcp/handler.py
@@ -95,7 +95,7 @@ class ReplicationCommandHandler:
def __init__(self, hs: "HomeServer"):
self._replication_data_handler = hs.get_replication_data_handler()
self._presence_handler = hs.get_presence_handler()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._notifier = hs.get_notifier()
self._clock = hs.get_clock()
self._instance_id = hs.get_instance_id()
diff --git a/synapse/replication/tcp/resource.py b/synapse/replication/tcp/resource.py
index ecd6190f5b..494e42a2be 100644
--- a/synapse/replication/tcp/resource.py
+++ b/synapse/replication/tcp/resource.py
@@ -72,7 +72,7 @@ class ReplicationStreamer:
"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.notifier = hs.get_notifier()
self._instance_name = hs.get_instance_name()
diff --git a/synapse/replication/tcp/streams/_base.py b/synapse/replication/tcp/streams/_base.py
index 914b9eae84..23d631a769 100644
--- a/synapse/replication/tcp/streams/_base.py
+++ b/synapse/replication/tcp/streams/_base.py
@@ -239,7 +239,7 @@ class BackfillStream(Stream):
ROW_TYPE = BackfillStreamRow
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
self._current_token,
@@ -267,7 +267,7 @@ class PresenceStream(Stream):
ROW_TYPE = PresenceStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
if hs.get_instance_name() in hs.config.worker.writers.presence:
# on the presence writer, query the presence handler
@@ -355,7 +355,7 @@ class ReceiptsStream(Stream):
ROW_TYPE = ReceiptsStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_max_receipt_stream_id),
@@ -374,7 +374,7 @@ class PushRulesStream(Stream):
ROW_TYPE = PushRulesStreamRow
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
@@ -401,7 +401,7 @@ class PushersStream(Stream):
ROW_TYPE = PushersStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
@@ -434,7 +434,7 @@ class CachesStream(Stream):
ROW_TYPE = CachesStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
store.get_cache_stream_token_for_writer,
@@ -455,7 +455,7 @@ class DeviceListsStream(Stream):
ROW_TYPE = DeviceListsStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_device_stream_token),
@@ -474,7 +474,7 @@ class ToDeviceStream(Stream):
ROW_TYPE = ToDeviceStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_to_device_stream_token),
@@ -495,7 +495,7 @@ class TagAccountDataStream(Stream):
ROW_TYPE = TagAccountDataStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_max_account_data_stream_id),
@@ -516,7 +516,7 @@ class AccountDataStream(Stream):
ROW_TYPE = AccountDataStreamRow
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(self.store.get_max_account_data_stream_id),
@@ -585,7 +585,7 @@ class GroupServerStream(Stream):
ROW_TYPE = GroupsStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_group_stream_token),
@@ -604,7 +604,7 @@ class UserSignatureStream(Stream):
ROW_TYPE = UserSignatureStreamRow
def __init__(self, hs: "HomeServer"):
- store = hs.get_datastore()
+ store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
current_token_without_instance(store.get_device_stream_token),
diff --git a/synapse/replication/tcp/streams/events.py b/synapse/replication/tcp/streams/events.py
index 50c4a5ba03..26f4fa7cfd 100644
--- a/synapse/replication/tcp/streams/events.py
+++ b/synapse/replication/tcp/streams/events.py
@@ -124,7 +124,7 @@ class EventsStream(Stream):
NAME = "events"
def __init__(self, hs: "HomeServer"):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
super().__init__(
hs.get_instance_name(),
self._store._stream_id_gen.get_current_token_for_writer,
diff --git a/synapse/rest/admin/__init__.py b/synapse/rest/admin/__init__.py
index ba0d989d81..6de302f813 100644
--- a/synapse/rest/admin/__init__.py
+++ b/synapse/rest/admin/__init__.py
@@ -116,7 +116,7 @@ class PurgeHistoryRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.pagination_handler = hs.get_pagination_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
diff --git a/synapse/rest/admin/background_updates.py b/synapse/rest/admin/background_updates.py
index e9bce22a34..93a78db811 100644
--- a/synapse/rest/admin/background_updates.py
+++ b/synapse/rest/admin/background_updates.py
@@ -112,7 +112,7 @@ class BackgroundUpdateStartJobRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
await assert_requester_is_admin(self._auth, request)
diff --git a/synapse/rest/admin/devices.py b/synapse/rest/admin/devices.py
index d9905ff560..cef46ba0dd 100644
--- a/synapse/rest/admin/devices.py
+++ b/synapse/rest/admin/devices.py
@@ -44,7 +44,7 @@ class DeviceRestServlet(RestServlet):
super().__init__()
self.auth = hs.get_auth()
self.device_handler = hs.get_device_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.is_mine = hs.is_mine
async def on_GET(
@@ -113,7 +113,7 @@ class DevicesRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
self.device_handler = hs.get_device_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.is_mine = hs.is_mine
async def on_GET(
@@ -144,7 +144,7 @@ class DeleteDevicesRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
self.device_handler = hs.get_device_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.is_mine = hs.is_mine
async def on_POST(
diff --git a/synapse/rest/admin/event_reports.py b/synapse/rest/admin/event_reports.py
index 38477f8ead..6d634eef70 100644
--- a/synapse/rest/admin/event_reports.py
+++ b/synapse/rest/admin/event_reports.py
@@ -53,7 +53,7 @@ class EventReportsRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
await assert_requester_is_admin(self.auth, request)
@@ -115,7 +115,7 @@ class EventReportDetailRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, report_id: str
diff --git a/synapse/rest/admin/federation.py b/synapse/rest/admin/federation.py
index d162e0081e..023ed92144 100644
--- a/synapse/rest/admin/federation.py
+++ b/synapse/rest/admin/federation.py
@@ -48,7 +48,7 @@ class ListDestinationsRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
await assert_requester_is_admin(self._auth, request)
@@ -105,7 +105,7 @@ class DestinationRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, destination: str
@@ -165,7 +165,7 @@ class DestinationMembershipRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, destination: str
@@ -221,7 +221,7 @@ class DestinationResetConnectionRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._authenticator = Authenticator(hs)
async def on_POST(
diff --git a/synapse/rest/admin/media.py b/synapse/rest/admin/media.py
index 299f5c9eb0..8ca57bdb28 100644
--- a/synapse/rest/admin/media.py
+++ b/synapse/rest/admin/media.py
@@ -47,7 +47,7 @@ class QuarantineMediaInRoom(RestServlet):
]
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -74,7 +74,7 @@ class QuarantineMediaByUser(RestServlet):
PATTERNS = admin_patterns("/user/(?P<user_id>[^/]*)/media/quarantine$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -103,7 +103,7 @@ class QuarantineMediaByID(RestServlet):
)
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -132,7 +132,7 @@ class UnquarantineMediaByID(RestServlet):
)
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -156,7 +156,7 @@ class ProtectMediaByID(RestServlet):
PATTERNS = admin_patterns("/media/protect/(?P<media_id>[^/]*)$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -178,7 +178,7 @@ class UnprotectMediaByID(RestServlet):
PATTERNS = admin_patterns("/media/unprotect/(?P<media_id>[^/]*)$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_POST(
@@ -200,7 +200,7 @@ class ListMediaInRoom(RestServlet):
PATTERNS = admin_patterns("/room/(?P<room_id>[^/]*)/media$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_GET(
@@ -251,7 +251,7 @@ class DeleteMediaByID(RestServlet):
PATTERNS = admin_patterns("/media/(?P<server_name>[^/]*)/(?P<media_id>[^/]*)$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.server_name = hs.hostname
self.media_repository = hs.get_media_repository()
@@ -283,7 +283,7 @@ class DeleteMediaByDateSize(RestServlet):
PATTERNS = admin_patterns("/media/(?P<server_name>[^/]*)/delete$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.server_name = hs.hostname
self.media_repository = hs.get_media_repository()
@@ -352,7 +352,7 @@ class UserMediaRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.is_mine = hs.is_mine
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.media_repository = hs.get_media_repository()
async def on_GET(
diff --git a/synapse/rest/admin/registration_tokens.py b/synapse/rest/admin/registration_tokens.py
index 04948b6408..af606e9252 100644
--- a/synapse/rest/admin/registration_tokens.py
+++ b/synapse/rest/admin/registration_tokens.py
@@ -71,7 +71,7 @@ class ListRegistrationTokensRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
await assert_requester_is_admin(self.auth, request)
@@ -109,7 +109,7 @@ class NewRegistrationTokenRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
# A string of all the characters allowed to be in a registration_token
self.allowed_chars = string.ascii_letters + string.digits + "._~-"
@@ -260,7 +260,7 @@ class RegistrationTokenRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest, token: str) -> Tuple[int, JsonDict]:
"""Retrieve a registration token."""
diff --git a/synapse/rest/admin/rooms.py b/synapse/rest/admin/rooms.py
index 5b706efbcf..f4736a3dad 100644
--- a/synapse/rest/admin/rooms.py
+++ b/synapse/rest/admin/rooms.py
@@ -65,7 +65,7 @@ class RoomRestV2Servlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._pagination_handler = hs.get_pagination_handler()
async def on_DELETE(
@@ -188,7 +188,7 @@ class ListRoomRestServlet(RestServlet):
PATTERNS = admin_patterns("/rooms$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.admin_handler = hs.get_admin_handler()
@@ -278,7 +278,7 @@ class RoomRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.room_shutdown_handler = hs.get_room_shutdown_handler()
self.pagination_handler = hs.get_pagination_handler()
@@ -382,7 +382,7 @@ class RoomMembersRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, room_id: str
@@ -408,7 +408,7 @@ class RoomStateRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self._event_serializer = hs.get_event_client_serializer()
@@ -525,7 +525,7 @@ class MakeRoomAdminRestServlet(ResolveRoomIdMixin, RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.event_creation_handler = hs.get_event_creation_handler()
self.state_handler = hs.get_state_handler()
self.is_mine_id = hs.is_mine_id
@@ -670,7 +670,7 @@ class ForwardExtremitiesRestServlet(ResolveRoomIdMixin, RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__(hs)
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_DELETE(
self, request: SynapseRequest, room_identifier: str
@@ -781,7 +781,7 @@ class BlockRoomRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, room_id: str
diff --git a/synapse/rest/admin/statistics.py b/synapse/rest/admin/statistics.py
index 7a6546372e..3b142b8402 100644
--- a/synapse/rest/admin/statistics.py
+++ b/synapse/rest/admin/statistics.py
@@ -38,7 +38,7 @@ class UserMediaStatisticsRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
await assert_requester_is_admin(self.auth, request)
diff --git a/synapse/rest/admin/users.py b/synapse/rest/admin/users.py
index c2617ee30c..8e29ada8a0 100644
--- a/synapse/rest/admin/users.py
+++ b/synapse/rest/admin/users.py
@@ -66,7 +66,7 @@ class UsersRestServletV2(RestServlet):
"""
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.admin_handler = hs.get_admin_handler()
@@ -156,7 +156,7 @@ class UserRestServletV2(RestServlet):
self.hs = hs
self.auth = hs.get_auth()
self.admin_handler = hs.get_admin_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth_handler = hs.get_auth_handler()
self.profile_handler = hs.get_profile_handler()
self.set_password_handler = hs.get_set_password_handler()
@@ -588,7 +588,7 @@ class DeactivateAccountRestServlet(RestServlet):
self._deactivate_account_handler = hs.get_deactivate_account_handler()
self.auth = hs.get_auth()
self.is_mine = hs.is_mine
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_POST(
self, request: SynapseRequest, target_user_id: str
@@ -674,7 +674,7 @@ class ResetPasswordRestServlet(RestServlet):
PATTERNS = admin_patterns("/reset_password/(?P<target_user_id>[^/]*)$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.auth_handler = hs.get_auth_handler()
self._set_password_handler = hs.get_set_password_handler()
@@ -717,7 +717,7 @@ class SearchUsersRestServlet(RestServlet):
PATTERNS = admin_patterns("/search_users/(?P<target_user_id>[^/]*)$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.is_mine = hs.is_mine
@@ -775,7 +775,7 @@ class UserAdminServlet(RestServlet):
PATTERNS = admin_patterns("/users/(?P<user_id>[^/]*)/admin$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.is_mine = hs.is_mine
@@ -835,7 +835,7 @@ class UserMembershipRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.is_mine = hs.is_mine
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, user_id: str
@@ -864,7 +864,7 @@ class PushersRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.is_mine = hs.is_mine
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_GET(
@@ -905,7 +905,7 @@ class UserTokenRestServlet(RestServlet):
PATTERNS = admin_patterns("/users/(?P<user_id>[^/]*)/login$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.auth_handler = hs.get_auth_handler()
self.is_mine_id = hs.is_mine_id
@@ -974,7 +974,7 @@ class ShadowBanRestServlet(RestServlet):
PATTERNS = admin_patterns("/users/(?P<user_id>[^/]*)/shadow_ban$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.is_mine_id = hs.is_mine_id
@@ -1026,7 +1026,7 @@ class RateLimitRestServlet(RestServlet):
PATTERNS = admin_patterns("/users/(?P<user_id>[^/]*)/override_ratelimit$")
def __init__(self, hs: "HomeServer"):
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.is_mine_id = hs.is_mine_id
@@ -1129,7 +1129,7 @@ class AccountDataRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._is_mine_id = hs.is_mine_id
async def on_GET(
diff --git a/synapse/rest/client/account.py b/synapse/rest/client/account.py
index 5802de5b7c..4b217882e8 100644
--- a/synapse/rest/client/account.py
+++ b/synapse/rest/client/account.py
@@ -60,7 +60,7 @@ class EmailPasswordRequestTokenRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.hs = hs
- self.datastore = hs.get_datastore()
+ self.datastore = hs.get_datastores().main
self.config = hs.config
self.identity_handler = hs.get_identity_handler()
@@ -114,7 +114,7 @@ class EmailPasswordRequestTokenRestServlet(RestServlet):
# This avoids a potential account hijack by requesting a password reset to
# an email address which is controlled by the attacker but which, after
# canonicalisation, matches the one in our database.
- existing_user_id = await self.hs.get_datastore().get_user_id_by_threepid(
+ existing_user_id = await self.hs.get_datastores().main.get_user_id_by_threepid(
"email", email
)
@@ -168,7 +168,7 @@ class PasswordRestServlet(RestServlet):
self.hs = hs
self.auth = hs.get_auth()
self.auth_handler = hs.get_auth_handler()
- self.datastore = self.hs.get_datastore()
+ self.datastore = self.hs.get_datastores().main
self.password_policy_handler = hs.get_password_policy_handler()
self._set_password_handler = hs.get_set_password_handler()
@@ -347,7 +347,7 @@ class EmailThreepidRequestTokenRestServlet(RestServlet):
self.hs = hs
self.config = hs.config
self.identity_handler = hs.get_identity_handler()
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
if self.config.email.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
self.mailer = Mailer(
@@ -450,7 +450,7 @@ class MsisdnThreepidRequestTokenRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
self.hs = hs
super().__init__()
- self.store = self.hs.get_datastore()
+ self.store = self.hs.get_datastores().main
self.identity_handler = hs.get_identity_handler()
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
@@ -533,7 +533,7 @@ class AddThreepidEmailSubmitTokenServlet(RestServlet):
super().__init__()
self.config = hs.config
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
if self.config.email.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
self._failure_email_template = (
self.config.email.email_add_threepid_template_failure_html
@@ -600,7 +600,7 @@ class AddThreepidMsisdnSubmitTokenServlet(RestServlet):
super().__init__()
self.config = hs.config
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.identity_handler = hs.get_identity_handler()
async def on_POST(self, request: Request) -> Tuple[int, JsonDict]:
@@ -634,7 +634,7 @@ class ThreepidRestServlet(RestServlet):
self.identity_handler = hs.get_identity_handler()
self.auth = hs.get_auth()
self.auth_handler = hs.get_auth_handler()
- self.datastore = self.hs.get_datastore()
+ self.datastore = self.hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
requester = await self.auth.get_user_by_req(request)
@@ -768,7 +768,7 @@ class ThreepidUnbindRestServlet(RestServlet):
self.hs = hs
self.identity_handler = hs.get_identity_handler()
self.auth = hs.get_auth()
- self.datastore = self.hs.get_datastore()
+ self.datastore = self.hs.get_datastores().main
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
"""Unbind the given 3pid from a specific identity server, or identity servers that are
diff --git a/synapse/rest/client/account_data.py b/synapse/rest/client/account_data.py
index 58b8adbd32..bfe985939b 100644
--- a/synapse/rest/client/account_data.py
+++ b/synapse/rest/client/account_data.py
@@ -42,7 +42,7 @@ class AccountDataServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.handler = hs.get_account_data_handler()
async def on_PUT(
@@ -90,7 +90,7 @@ class RoomAccountDataServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.handler = hs.get_account_data_handler()
async def on_PUT(
diff --git a/synapse/rest/client/directory.py b/synapse/rest/client/directory.py
index ee247e3d1e..e181a0dde2 100644
--- a/synapse/rest/client/directory.py
+++ b/synapse/rest/client/directory.py
@@ -47,7 +47,7 @@ class ClientDirectoryServer(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.directory_handler = hs.get_directory_handler()
self.auth = hs.get_auth()
@@ -129,7 +129,7 @@ class ClientDirectoryListServer(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.directory_handler = hs.get_directory_handler()
self.auth = hs.get_auth()
@@ -173,7 +173,7 @@ class ClientAppserviceDirectoryListServer(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.directory_handler = hs.get_directory_handler()
self.auth = hs.get_auth()
diff --git a/synapse/rest/client/events.py b/synapse/rest/client/events.py
index 672c821061..916f5230f1 100644
--- a/synapse/rest/client/events.py
+++ b/synapse/rest/client/events.py
@@ -39,7 +39,7 @@ class EventStreamRestServlet(RestServlet):
super().__init__()
self.event_stream_handler = hs.get_event_stream_handler()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
requester = await self.auth.get_user_by_req(request, allow_guest=True)
diff --git a/synapse/rest/client/groups.py b/synapse/rest/client/groups.py
index a7e9aa3e9b..7e1149c7f4 100644
--- a/synapse/rest/client/groups.py
+++ b/synapse/rest/client/groups.py
@@ -705,7 +705,7 @@ class GroupAdminUsersInviteServlet(RestServlet):
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self.groups_handler = hs.get_groups_local_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.is_mine_id = hs.is_mine_id
@_validate_group_id
@@ -854,7 +854,7 @@ class GroupSelfUpdatePublicityServlet(RestServlet):
super().__init__()
self.auth = hs.get_auth()
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
@_validate_group_id
async def on_PUT(
@@ -879,7 +879,7 @@ class PublicisedGroupsForUserServlet(RestServlet):
super().__init__()
self.auth = hs.get_auth()
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.groups_handler = hs.get_groups_local_handler()
async def on_GET(
@@ -901,7 +901,7 @@ class PublicisedGroupsForUsersServlet(RestServlet):
super().__init__()
self.auth = hs.get_auth()
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.groups_handler = hs.get_groups_local_handler()
async def on_POST(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
diff --git a/synapse/rest/client/initial_sync.py b/synapse/rest/client/initial_sync.py
index 49b1037b28..cfadcb8e50 100644
--- a/synapse/rest/client/initial_sync.py
+++ b/synapse/rest/client/initial_sync.py
@@ -33,7 +33,7 @@ class InitialSyncRestServlet(RestServlet):
super().__init__()
self.initial_sync_handler = hs.get_initial_sync_handler()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
requester = await self.auth.get_user_by_req(request)
diff --git a/synapse/rest/client/keys.py b/synapse/rest/client/keys.py
index 730c18f08f..ce806e3c11 100644
--- a/synapse/rest/client/keys.py
+++ b/synapse/rest/client/keys.py
@@ -198,7 +198,7 @@ class KeyChangesServlet(RestServlet):
super().__init__()
self.auth = hs.get_auth()
self.device_handler = hs.get_device_handler()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
requester = await self.auth.get_user_by_req(request, allow_guest=True)
diff --git a/synapse/rest/client/login.py b/synapse/rest/client/login.py
index f9994658c4..c9d44c5964 100644
--- a/synapse/rest/client/login.py
+++ b/synapse/rest/client/login.py
@@ -104,13 +104,13 @@ class LoginRestServlet(RestServlet):
self._well_known_builder = WellKnownBuilder(hs)
self._address_ratelimiter = Ratelimiter(
- store=hs.get_datastore(),
+ store=hs.get_datastores().main,
clock=hs.get_clock(),
rate_hz=self.hs.config.ratelimiting.rc_login_address.per_second,
burst_count=self.hs.config.ratelimiting.rc_login_address.burst_count,
)
self._account_ratelimiter = Ratelimiter(
- store=hs.get_datastore(),
+ store=hs.get_datastores().main,
clock=hs.get_clock(),
rate_hz=self.hs.config.ratelimiting.rc_login_account.per_second,
burst_count=self.hs.config.ratelimiting.rc_login_account.burst_count,
diff --git a/synapse/rest/client/notifications.py b/synapse/rest/client/notifications.py
index 8e427a96a3..20377a9ac6 100644
--- a/synapse/rest/client/notifications.py
+++ b/synapse/rest/client/notifications.py
@@ -35,7 +35,7 @@ class NotificationsServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
self.clock = hs.get_clock()
self._event_serializer = hs.get_event_client_serializer()
diff --git a/synapse/rest/client/openid.py b/synapse/rest/client/openid.py
index add56d6998..820682ec42 100644
--- a/synapse/rest/client/openid.py
+++ b/synapse/rest/client/openid.py
@@ -67,7 +67,7 @@ class IdTokenServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.server_name = hs.config.server.server_name
diff --git a/synapse/rest/client/push_rule.py b/synapse/rest/client/push_rule.py
index 8fe75bd750..a93f6fd5e0 100644
--- a/synapse/rest/client/push_rule.py
+++ b/synapse/rest/client/push_rule.py
@@ -57,7 +57,7 @@ class PushRuleRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.notifier = hs.get_notifier()
self._is_worker = hs.config.worker.worker_app is not None
diff --git a/synapse/rest/client/pusher.py b/synapse/rest/client/pusher.py
index 98604a9388..d6487c31dd 100644
--- a/synapse/rest/client/pusher.py
+++ b/synapse/rest/client/pusher.py
@@ -46,7 +46,9 @@ class PushersRestServlet(RestServlet):
requester = await self.auth.get_user_by_req(request)
user = requester.user
- pushers = await self.hs.get_datastore().get_pushers_by_user_id(user.to_string())
+ pushers = await self.hs.get_datastores().main.get_pushers_by_user_id(
+ user.to_string()
+ )
filtered_pushers = [p.as_dict() for p in pushers]
diff --git a/synapse/rest/client/register.py b/synapse/rest/client/register.py
index b8a5135e02..70baf50fa4 100644
--- a/synapse/rest/client/register.py
+++ b/synapse/rest/client/register.py
@@ -123,7 +123,7 @@ class EmailRegisterRequestTokenRestServlet(RestServlet):
request, "email", email
)
- existing_user_id = await self.hs.get_datastore().get_user_id_by_threepid(
+ existing_user_id = await self.hs.get_datastores().main.get_user_id_by_threepid(
"email", email
)
@@ -203,7 +203,7 @@ class MsisdnRegisterRequestTokenRestServlet(RestServlet):
request, "msisdn", msisdn
)
- existing_user_id = await self.hs.get_datastore().get_user_id_by_threepid(
+ existing_user_id = await self.hs.get_datastores().main.get_user_id_by_threepid(
"msisdn", msisdn
)
@@ -258,7 +258,7 @@ class RegistrationSubmitTokenServlet(RestServlet):
self.auth = hs.get_auth()
self.config = hs.config
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
if self.config.email.threepid_behaviour_email == ThreepidBehaviour.LOCAL:
self._failure_email_template = (
@@ -385,7 +385,7 @@ class RegistrationTokenValidityRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.ratelimiter = Ratelimiter(
store=self.store,
clock=hs.get_clock(),
@@ -415,7 +415,7 @@ class RegisterRestServlet(RestServlet):
self.hs = hs
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth_handler = hs.get_auth_handler()
self.registration_handler = hs.get_registration_handler()
self.identity_handler = hs.get_identity_handler()
diff --git a/synapse/rest/client/relations.py b/synapse/rest/client/relations.py
index 2cab83c4e6..487ea38b55 100644
--- a/synapse/rest/client/relations.py
+++ b/synapse/rest/client/relations.py
@@ -85,7 +85,7 @@ class RelationPaginationServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self._event_serializer = hs.get_event_client_serializer()
self.event_handler = hs.get_event_handler()
@@ -190,7 +190,7 @@ class RelationAggregationPaginationServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.event_handler = hs.get_event_handler()
async def on_GET(
@@ -282,7 +282,7 @@ class RelationAggregationGroupPaginationServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self._event_serializer = hs.get_event_client_serializer()
self.event_handler = hs.get_event_handler()
diff --git a/synapse/rest/client/report_event.py b/synapse/rest/client/report_event.py
index d4a4adb50c..6e962a4532 100644
--- a/synapse/rest/client/report_event.py
+++ b/synapse/rest/client/report_event.py
@@ -38,7 +38,7 @@ class ReportEventRestServlet(RestServlet):
self.hs = hs
self.auth = hs.get_auth()
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_POST(
self, request: SynapseRequest, room_id: str, event_id: str
diff --git a/synapse/rest/client/room.py b/synapse/rest/client/room.py
index 90355e44b2..5ccfe5a92f 100644
--- a/synapse/rest/client/room.py
+++ b/synapse/rest/client/room.py
@@ -477,7 +477,7 @@ class RoomMemberListRestServlet(RestServlet):
super().__init__()
self.message_handler = hs.get_message_handler()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, room_id: str
@@ -553,7 +553,7 @@ class RoomMessageListRestServlet(RestServlet):
self._hs = hs
self.pagination_handler = hs.get_pagination_handler()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, room_id: str
@@ -621,7 +621,7 @@ class RoomInitialSyncRestServlet(RestServlet):
super().__init__()
self.initial_sync_handler = hs.get_initial_sync_handler()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, room_id: str
@@ -642,7 +642,7 @@ class RoomEventServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.clock = hs.get_clock()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self.event_handler = hs.get_event_handler()
self._event_serializer = hs.get_event_client_serializer()
self.auth = hs.get_auth()
@@ -1027,7 +1027,7 @@ class JoinedRoomsRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.auth = hs.get_auth()
async def on_GET(self, request: SynapseRequest) -> Tuple[int, JsonDict]:
@@ -1116,7 +1116,7 @@ class TimestampLookupRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self._auth = hs.get_auth()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self.timestamp_lookup_handler = hs.get_timestamp_lookup_handler()
async def on_GET(
diff --git a/synapse/rest/client/room_batch.py b/synapse/rest/client/room_batch.py
index 4b6be38327..0048973e59 100644
--- a/synapse/rest/client/room_batch.py
+++ b/synapse/rest/client/room_batch.py
@@ -75,7 +75,7 @@ class RoomBatchSendEventRestServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.event_creation_handler = hs.get_event_creation_handler()
self.auth = hs.get_auth()
self.room_batch_handler = hs.get_room_batch_handler()
diff --git a/synapse/rest/client/shared_rooms.py b/synapse/rest/client/shared_rooms.py
index 09a46737de..e669fa7890 100644
--- a/synapse/rest/client/shared_rooms.py
+++ b/synapse/rest/client/shared_rooms.py
@@ -41,7 +41,7 @@ class UserSharedRoomsServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.user_directory_active = hs.config.server.update_user_directory
async def on_GET(
diff --git a/synapse/rest/client/sync.py b/synapse/rest/client/sync.py
index f9615da525..f3018ff690 100644
--- a/synapse/rest/client/sync.py
+++ b/synapse/rest/client/sync.py
@@ -103,7 +103,7 @@ class SyncRestServlet(RestServlet):
super().__init__()
self.hs = hs
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.sync_handler = hs.get_sync_handler()
self.clock = hs.get_clock()
self.filtering = hs.get_filtering()
diff --git a/synapse/rest/client/tags.py b/synapse/rest/client/tags.py
index c88cb9367c..ca638755c7 100644
--- a/synapse/rest/client/tags.py
+++ b/synapse/rest/client/tags.py
@@ -39,7 +39,7 @@ class TagListServlet(RestServlet):
def __init__(self, hs: "HomeServer"):
super().__init__()
self.auth = hs.get_auth()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
async def on_GET(
self, request: SynapseRequest, user_id: str, room_id: str
diff --git a/synapse/rest/consent/consent_resource.py b/synapse/rest/consent/consent_resource.py
index 3d2afacc50..25f9ea285b 100644
--- a/synapse/rest/consent/consent_resource.py
+++ b/synapse/rest/consent/consent_resource.py
@@ -78,7 +78,7 @@ class ConsentResource(DirectServeHtmlResource):
super().__init__()
self.hs = hs
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.registration_handler = hs.get_registration_handler()
# this is required by the request_handler wrapper
diff --git a/synapse/rest/key/v2/remote_key_resource.py b/synapse/rest/key/v2/remote_key_resource.py
index 3923ba8439..3525d6ae54 100644
--- a/synapse/rest/key/v2/remote_key_resource.py
+++ b/synapse/rest/key/v2/remote_key_resource.py
@@ -94,7 +94,7 @@ class RemoteKey(DirectServeJsonResource):
super().__init__()
self.fetcher = ServerKeyFetcher(hs)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.federation_domain_whitelist = (
hs.config.federation.federation_domain_whitelist
diff --git a/synapse/rest/media/v1/media_repository.py b/synapse/rest/media/v1/media_repository.py
index 71b9a34b14..6c414402bd 100644
--- a/synapse/rest/media/v1/media_repository.py
+++ b/synapse/rest/media/v1/media_repository.py
@@ -75,7 +75,7 @@ class MediaRepository:
self.client = hs.get_federation_http_client()
self.clock = hs.get_clock()
self.server_name = hs.hostname
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.max_upload_size = hs.config.media.max_upload_size
self.max_image_pixels = hs.config.media.max_image_pixels
diff --git a/synapse/rest/media/v1/preview_url_resource.py b/synapse/rest/media/v1/preview_url_resource.py
index c08b60d10a..14ea88b240 100644
--- a/synapse/rest/media/v1/preview_url_resource.py
+++ b/synapse/rest/media/v1/preview_url_resource.py
@@ -134,7 +134,7 @@ class PreviewUrlResource(DirectServeJsonResource):
self.filepaths = media_repo.filepaths
self.max_spider_size = hs.config.media.max_spider_size
self.server_name = hs.hostname
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.client = SimpleHttpClient(
hs,
treq_args={"browser_like_redirects": True},
diff --git a/synapse/rest/media/v1/thumbnail_resource.py b/synapse/rest/media/v1/thumbnail_resource.py
index ed91ef5a42..53b1565243 100644
--- a/synapse/rest/media/v1/thumbnail_resource.py
+++ b/synapse/rest/media/v1/thumbnail_resource.py
@@ -50,7 +50,7 @@ class ThumbnailResource(DirectServeJsonResource):
):
super().__init__()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.media_repo = media_repo
self.media_storage = media_storage
self.dynamic_thumbnails = hs.config.media.dynamic_thumbnails
diff --git a/synapse/rest/media/v1/upload_resource.py b/synapse/rest/media/v1/upload_resource.py
index fde28d08cb..e73e431dc9 100644
--- a/synapse/rest/media/v1/upload_resource.py
+++ b/synapse/rest/media/v1/upload_resource.py
@@ -37,7 +37,7 @@ class UploadResource(DirectServeJsonResource):
self.media_repo = media_repo
self.filepaths = media_repo.filepaths
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.clock = hs.get_clock()
self.server_name = hs.hostname
self.auth = hs.get_auth()
diff --git a/synapse/rest/synapse/client/password_reset.py b/synapse/rest/synapse/client/password_reset.py
index 28a67f04e3..6ac9dbc7c9 100644
--- a/synapse/rest/synapse/client/password_reset.py
+++ b/synapse/rest/synapse/client/password_reset.py
@@ -44,7 +44,7 @@ class PasswordResetSubmitTokenResource(DirectServeHtmlResource):
super().__init__()
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self._local_threepid_handling_disabled_due_to_email_config = (
hs.config.email.local_threepid_handling_disabled_due_to_email_config
diff --git a/synapse/server.py b/synapse/server.py
index 4c07f21015..b5e2a319bc 100644
--- a/synapse/server.py
+++ b/synapse/server.py
@@ -17,7 +17,7 @@
# homeservers; either as a full homeserver as a real application, or a small
# partial one for unit test mocking.
-# Imports required for the default HomeServer() implementation
+
import abc
import functools
import logging
@@ -134,7 +134,7 @@ from synapse.server_notices.worker_server_notices_sender import (
WorkerServerNoticesSender,
)
from synapse.state import StateHandler, StateResolutionHandler
-from synapse.storage import Databases, DataStore, Storage
+from synapse.storage import Databases, Storage
from synapse.streams.events import EventSources
from synapse.types import DomainSpecificString, ISynapseReactor
from synapse.util import Clock
@@ -225,7 +225,7 @@ class HomeServer(metaclass=abc.ABCMeta):
# This is overridden in derived application classes
# (such as synapse.app.homeserver.SynapseHomeServer) and gives the class to be
- # instantiated during setup() for future return by get_datastore()
+ # instantiated during setup() for future return by get_datastores()
DATASTORE_CLASS = abc.abstractproperty()
tls_server_context_factory: Optional[IOpenSSLContextFactory]
@@ -355,12 +355,6 @@ class HomeServer(metaclass=abc.ABCMeta):
def get_clock(self) -> Clock:
return Clock(self._reactor)
- def get_datastore(self) -> DataStore:
- if not self.datastores:
- raise Exception("HomeServer.setup must be called before getting datastores")
-
- return self.datastores.main
-
def get_datastores(self) -> Databases:
if not self.datastores:
raise Exception("HomeServer.setup must be called before getting datastores")
@@ -374,7 +368,7 @@ class HomeServer(metaclass=abc.ABCMeta):
@cache_in_self
def get_registration_ratelimiter(self) -> Ratelimiter:
return Ratelimiter(
- store=self.get_datastore(),
+ store=self.get_datastores().main,
clock=self.get_clock(),
rate_hz=self.config.ratelimiting.rc_registration.per_second,
burst_count=self.config.ratelimiting.rc_registration.burst_count,
@@ -847,7 +841,7 @@ class HomeServer(metaclass=abc.ABCMeta):
@cache_in_self
def get_request_ratelimiter(self) -> RequestRatelimiter:
return RequestRatelimiter(
- self.get_datastore(),
+ self.get_datastores().main,
self.get_clock(),
self.config.ratelimiting.rc_message,
self.config.ratelimiting.rc_admin_redaction,
diff --git a/synapse/server_notices/consent_server_notices.py b/synapse/server_notices/consent_server_notices.py
index e09a25591f..698ca742ed 100644
--- a/synapse/server_notices/consent_server_notices.py
+++ b/synapse/server_notices/consent_server_notices.py
@@ -32,7 +32,7 @@ class ConsentServerNotices:
def __init__(self, hs: "HomeServer"):
self._server_notices_manager = hs.get_server_notices_manager()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._users_in_progress: Set[str] = set()
diff --git a/synapse/server_notices/resource_limits_server_notices.py b/synapse/server_notices/resource_limits_server_notices.py
index 8522930b50..015dd08f05 100644
--- a/synapse/server_notices/resource_limits_server_notices.py
+++ b/synapse/server_notices/resource_limits_server_notices.py
@@ -36,7 +36,7 @@ class ResourceLimitsServerNotices:
def __init__(self, hs: "HomeServer"):
self._server_notices_manager = hs.get_server_notices_manager()
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._auth = hs.get_auth()
self._config = hs.config
self._resouce_limited = False
diff --git a/synapse/server_notices/server_notices_manager.py b/synapse/server_notices/server_notices_manager.py
index 0cf60236f8..7b4814e049 100644
--- a/synapse/server_notices/server_notices_manager.py
+++ b/synapse/server_notices/server_notices_manager.py
@@ -29,7 +29,7 @@ SERVER_NOTICE_ROOM_TAG = "m.server_notice"
class ServerNoticesManager:
def __init__(self, hs: "HomeServer"):
- self._store = hs.get_datastore()
+ self._store = hs.get_datastores().main
self._config = hs.config
self._account_data_handler = hs.get_account_data_handler()
self._room_creation_handler = hs.get_room_creation_handler()
diff --git a/synapse/state/__init__.py b/synapse/state/__init__.py
index 67e8bc6ec2..fcc24ad129 100644
--- a/synapse/state/__init__.py
+++ b/synapse/state/__init__.py
@@ -126,7 +126,7 @@ class StateHandler:
def __init__(self, hs: "HomeServer"):
self.clock = hs.get_clock()
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
self.state_store = hs.get_storage().state
self.hs = hs
self._state_resolution_handler = hs.get_state_resolution_handler()
diff --git a/synapse/storage/databases/main/monthly_active_users.py b/synapse/storage/databases/main/monthly_active_users.py
index 8f09dd8e87..e9a0cdc6be 100644
--- a/synapse/storage/databases/main/monthly_active_users.py
+++ b/synapse/storage/databases/main/monthly_active_users.py
@@ -112,7 +112,7 @@ class MonthlyActiveUsersWorkerStore(SQLBaseStore):
for tp in self.hs.config.server.mau_limits_reserved_threepids[
: self.hs.config.server.max_mau_value
]:
- user_id = await self.hs.get_datastore().get_user_id_by_threepid(
+ user_id = await self.hs.get_datastores().main.get_user_id_by_threepid(
tp["medium"], canonicalise_email(tp["address"])
)
if user_id:
diff --git a/synapse/streams/events.py b/synapse/streams/events.py
index 4ec2a713cf..fb8fe17295 100644
--- a/synapse/streams/events.py
+++ b/synapse/streams/events.py
@@ -48,7 +48,7 @@ class EventSources:
# all the attributes of `_EventSourcesInner` are annotated.
*(attribute.type(hs) for attribute in attr.fields(_EventSourcesInner)) # type: ignore[misc]
)
- self.store = hs.get_datastore()
+ self.store = hs.get_datastores().main
def get_current_token(self) -> StreamToken:
push_rules_key = self.store.get_max_push_rules_stream_id()
|