diff options
author | Olivier Wilkinson (reivilibre) <olivier@librepush.net> | 2019-08-29 14:10:21 +0100 |
---|---|---|
committer | Olivier Wilkinson (reivilibre) <olivier@librepush.net> | 2019-08-29 14:10:21 +0100 |
commit | 39dbee2a3e129415e2c20aa9a4f5f866e723fe41 (patch) | |
tree | f392fbcfefd4a35b46da7c08a7d68de0eb300ab1 /synapse/storage/stats.py | |
parent | Update total_events and total_event_bytes on new events. (diff) | |
download | synapse-39dbee2a3e129415e2c20aa9a4f5f866e723fe41.tar.xz |
Count total_events and total_event_bytes within the loop.
In this case, we still update these counts if we get stuck in the loop because the server is busy. Signed-off-by: Olivier Wilkinson (reivilibre) <olivier@librepush.net>
Diffstat (limited to 'synapse/storage/stats.py')
-rw-r--r-- | synapse/storage/stats.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/synapse/storage/stats.py b/synapse/storage/stats.py index 8cfa694d31..9d6c3027d5 100644 --- a/synapse/storage/stats.py +++ b/synapse/storage/stats.py @@ -487,9 +487,12 @@ class StatsStore(StateDeltasStore): in_positions (dict): Positions, as retrieved from L{get_stats_positions}. - Returns (dict): - The new positions. Note that this is for reference only – - the new positions WILL be committed by this function. + Returns (Deferred[tuple[dict, bool]]): + First element (dict): + The new positions. Note that this is for reference only – + the new positions WILL be committed by this function. + Second element (bool): + true iff there was a change to the positions, false otherwise """ def incremental_update_total_events_and_bytes_txn(txn): @@ -518,7 +521,9 @@ class StatsStore(StateDeltasStore): self._update_stats_positions_txn(txn, positions) - return positions + return positions, True + else: + return positions, False return self.runInteraction( "stats_incremental_total_events_and_bytes", |