diff options
author | Olivier Wilkinson (reivilibre) <olivier@librepush.net> | 2019-08-30 16:26:40 +0100 |
---|---|---|
committer | Olivier Wilkinson (reivilibre) <olivier@librepush.net> | 2019-08-30 16:26:40 +0100 |
commit | 6f5e543901b19cd24d0eb104b0e40f4fda324fc5 (patch) | |
tree | 6ac7c6d1d9ebe435e6dda038fc9dee44be235c4a | |
parent | Fixes to counting and stats deltas (diff) | |
download | synapse-6f5e543901b19cd24d0eb104b0e40f4fda324fc5.tar.xz |
Various fixes
Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
-rw-r--r-- | synapse/handlers/stats.py | 9 | ||||
-rw-r--r-- | synapse/storage/stats.py | 5 |
2 files changed, 6 insertions, 8 deletions
diff --git a/synapse/handlers/stats.py b/synapse/handlers/stats.py index 6341c3244e..572da0a344 100644 --- a/synapse/handlers/stats.py +++ b/synapse/handlers/stats.py @@ -159,12 +159,9 @@ class StatsHandler(StateDeltasHandler): if event: event_content = event.content or {} - # We use stream_pos here rather than fetch by event_id as event_id - # may be None - stream_timestamp = yield self.store.get_received_ts_by_stream_pos( - stream_pos - ) - stream_timestamp = int(stream_timestamp) + # We can't afford for this time to stray into the past, so we count + # it as now. + stream_timestamp = int(self.clock.time_msec()) # All the values in this dict are deltas (RELATIVE changes) room_stats_delta = {} diff --git a/synapse/storage/stats.py b/synapse/storage/stats.py index 7bf729c9d8..c022f620fc 100644 --- a/synapse/storage/stats.py +++ b/synapse/storage/stats.py @@ -948,10 +948,11 @@ class StatsStore(StateDeltasStore): src_row = self._simple_select_one_txn( txn, src_table, keyvalues, copy_columns ) + all_dest_keyvalues = {**keyvalues, **extra_dst_keyvalues} dest_current_row = self._simple_select_one_txn( txn, into_table, - keyvalues={ **keyvalues, **extra_dst_keyvalues }, + keyvalues=all_dest_keyvalues, retcols=list(chain(additive_relatives.keys(), copy_columns)), allow_none=True, ) @@ -968,7 +969,7 @@ class StatsStore(StateDeltasStore): else: for (key, val) in additive_relatives.items(): src_row[key] = dest_current_row[key] + val - self._simple_update_txn(txn, into_table, keyvalues, src_row) + self._simple_update_txn(txn, into_table, all_dest_keyvalues, src_row) def incremental_update_room_total_events_and_bytes(self, in_positions): """ |