|
@@ -38,7 +38,6 @@ from synapse.logging.opentracing import (
|
|
|
whitelisted_homeserver,
|
|
|
)
|
|
|
from synapse.metrics.background_process_metrics import wrap_as_background_process
|
|
|
-from synapse.replication.slave.storage._slaved_id_tracker import SlavedIdTracker
|
|
|
from synapse.replication.tcp.streams._base import DeviceListsStream, UserSignatureStream
|
|
|
from synapse.storage._base import SQLBaseStore, db_to_json, make_in_list_sql_clause
|
|
|
from synapse.storage.database import (
|
|
@@ -86,28 +85,19 @@ class DeviceWorkerStore(RoomMemberWorkerStore, EndToEndKeyWorkerStore):
|
|
|
):
|
|
|
super().__init__(database, db_conn, hs)
|
|
|
|
|
|
- if hs.config.worker.worker_app is None:
|
|
|
- self._device_list_id_gen: AbstractStreamIdTracker = StreamIdGenerator(
|
|
|
- db_conn,
|
|
|
- "device_lists_stream",
|
|
|
- "stream_id",
|
|
|
- extra_tables=[
|
|
|
- ("user_signature_stream", "stream_id"),
|
|
|
- ("device_lists_outbound_pokes", "stream_id"),
|
|
|
- ("device_lists_changes_in_room", "stream_id"),
|
|
|
- ],
|
|
|
- )
|
|
|
- else:
|
|
|
- self._device_list_id_gen = SlavedIdTracker(
|
|
|
- db_conn,
|
|
|
- "device_lists_stream",
|
|
|
- "stream_id",
|
|
|
- extra_tables=[
|
|
|
- ("user_signature_stream", "stream_id"),
|
|
|
- ("device_lists_outbound_pokes", "stream_id"),
|
|
|
- ("device_lists_changes_in_room", "stream_id"),
|
|
|
- ],
|
|
|
- )
|
|
|
+ # In the worker store this is an ID tracker which we overwrite in the non-worker
|
|
|
+ # class below that is used on the main process.
|
|
|
+ self._device_list_id_gen: AbstractStreamIdTracker = StreamIdGenerator(
|
|
|
+ db_conn,
|
|
|
+ "device_lists_stream",
|
|
|
+ "stream_id",
|
|
|
+ extra_tables=[
|
|
|
+ ("user_signature_stream", "stream_id"),
|
|
|
+ ("device_lists_outbound_pokes", "stream_id"),
|
|
|
+ ("device_lists_changes_in_room", "stream_id"),
|
|
|
+ ],
|
|
|
+ is_writer=hs.config.worker.worker_app is None,
|
|
|
+ )
|
|
|
|
|
|
# Type-ignore: _device_list_id_gen is mixed in from either DataStore (as a
|
|
|
# StreamIdGenerator) or SlavedDataStore (as a SlavedIdTracker).
|