From 4e32e23cdb038ad96b16c9dd171b8292c02044e5 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Mon, 20 Nov 2023 15:38:37 +0000 Subject: [PATCH 1/2] Reduce DB load when forget on leave setting is disabled --- synapse/handlers/room_member.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py index eddc2af9ba4c..00c2dd854d9f 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py @@ -2111,9 +2111,14 @@ async def _unsafe_process(self) -> None: self.pos = room_max_stream_ordering if not self._hs.config.room.forget_on_leave: - # Update the processing position, so that if the server admin turns the - # feature on at a later date, we don't decide to forget every room that - # has ever been left in the past. + # Update the processing position, so that if the server admin turns + # the feature on at a later date, we don't decide to forget every + # room that has ever been left in the past. + # + # We wait for a short time so that we don't "tight" loop just + # keeping the table up to date. + await self._clock.sleep(0.5) + self.pos = self._store.get_room_max_stream_ordering() await self._store.update_room_forgetter_stream_pos(self.pos) return From 388eb14b6ed07772c71cf892ad8ae97bca36617e Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Mon, 20 Nov 2023 15:39:09 +0000 Subject: [PATCH 2/2] Newsfile --- changelog.d/16668.misc | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/16668.misc diff --git a/changelog.d/16668.misc b/changelog.d/16668.misc new file mode 100644 index 000000000000..9ed004d6e46a --- /dev/null +++ b/changelog.d/16668.misc @@ -0,0 +1 @@ +Reduce DB load when forget on leave setting is disabled.