summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
authorErik Johnston <erik@matrix.org>2016-09-05 15:49:57 +0100
committerErik Johnston <erik@matrix.org>2016-09-05 15:49:57 +0100
commit0595413c0fe51d4f400f597bf57cd13d5e3450e3 (patch)
tree66bacf2e1a4f820a45cf3a1bba59a1cb28ce93dc /synapse
parentCorrectly handle reindexing state groups that already have an edge (diff)
downloadsynapse-0595413c0fe51d4f400f597bf57cd13d5e3450e3.tar.xz
Scale the batch size so that we're not bitten by the minimum
Diffstat (limited to 'synapse')
-rw-r--r--synapse/storage/state.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/synapse/storage/state.py b/synapse/storage/state.py
index af3ddd962d..0730399b80 100644
--- a/synapse/storage/state.py
+++ b/synapse/storage/state.py
@@ -649,6 +649,10 @@ class StateStore(SQLBaseStore):
         rows_inserted = progress.get("rows_inserted", 0)
         max_group = progress.get("max_group", None)
 
+        BATCH_SIZE_SCALE_FACTOR = 100
+
+        batch_size = max(1, int(batch_size / BATCH_SIZE_SCALE_FACTOR))
+
         if max_group is None:
             rows = yield self._execute(
                 "_background_deduplicate_state", None,
@@ -779,4 +783,4 @@ class StateStore(SQLBaseStore):
         if finished:
             yield self._end_background_update(self.STATE_GROUP_DEDUPLICATION_UPDATE_NAME)
 
-        defer.returnValue(result)
+        defer.returnValue(result * BATCH_SIZE_SCALE_FACTOR)