diff options
author | Richard van der Hoff <github@rvanderhoff.org.uk> | 2016-07-25 14:04:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-07-25 14:04:05 +0100 |
commit | bf3de7b90bbe4403980e77284f480a9a5c5ffc28 (patch) | |
tree | 98578d9317298205cee33a6d67d1240a5af74c18 /synapse/storage/client_ips.py | |
parent | Merge pull request #947 from matrix-org/rav/unittest_logging (diff) | |
parent | PEP8 (diff) | |
download | synapse-bf3de7b90bbe4403980e77284f480a9a5c5ffc28.tar.xz |
Merge pull request #945 from matrix-org/rav/background_reindex
Create index on user_ips in the background
Diffstat (limited to 'synapse/storage/client_ips.py')
-rw-r--r-- | synapse/storage/client_ips.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/synapse/storage/client_ips.py b/synapse/storage/client_ips.py index e31fa53c3f..71e5ea112f 100644 --- a/synapse/storage/client_ips.py +++ b/synapse/storage/client_ips.py @@ -15,10 +15,11 @@ import logging -from ._base import SQLBaseStore, Cache - from twisted.internet import defer +from ._base import Cache +from . import background_updates + logger = logging.getLogger(__name__) # Number of msec of granularity to store the user IP 'last seen' time. Smaller @@ -27,8 +28,7 @@ logger = logging.getLogger(__name__) LAST_SEEN_GRANULARITY = 120 * 1000 -class ClientIpStore(SQLBaseStore): - +class ClientIpStore(background_updates.BackgroundUpdateStore): def __init__(self, hs): self.client_ip_last_seen = Cache( name="client_ip_last_seen", @@ -37,6 +37,13 @@ class ClientIpStore(SQLBaseStore): super(ClientIpStore, self).__init__(hs) + self.register_background_index_update( + "user_ips_device_index", + index_name="user_ips_device_id", + table="user_ips", + columns=["user_id", "device_id", "last_seen"], + ) + @defer.inlineCallbacks def insert_client_ip(self, user, access_token, ip, user_agent, device_id): now = int(self._clock.time_msec()) |