diff options
author | Erik Johnston <erik@matrix.org> | 2023-08-17 14:07:57 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-17 14:07:57 +0100 |
commit | eb0dbab15b119eab7721bc03ac1cfc7f6b638bb3 (patch) | |
tree | 5935d694cd4af3b5833a8b6f39b982ebd8d437ec /tests/storage | |
parent | Override global statement timeout when creating indexes in Postgres (#16085) (diff) | |
download | synapse-eb0dbab15b119eab7721bc03ac1cfc7f6b638bb3.tar.xz |
Fix database performance of read/write worker locks (#16061)
We were seeing serialization errors when taking out multiple read locks. The transactions were retried, so isn't causing any failures. Introduced in #15782.
Diffstat (limited to 'tests/storage')
-rw-r--r-- | tests/storage/databases/main/test_lock.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tests/storage/databases/main/test_lock.py b/tests/storage/databases/main/test_lock.py index 383da83dfb..f541f1d6be 100644 --- a/tests/storage/databases/main/test_lock.py +++ b/tests/storage/databases/main/test_lock.py @@ -12,13 +12,14 @@ # See the License for the specific language governing permissions and # limitations under the License. + from twisted.internet import defer, reactor from twisted.internet.base import ReactorBase from twisted.internet.defer import Deferred from twisted.test.proto_helpers import MemoryReactor from synapse.server import HomeServer -from synapse.storage.databases.main.lock import _LOCK_TIMEOUT_MS +from synapse.storage.databases.main.lock import _LOCK_TIMEOUT_MS, _RENEWAL_INTERVAL_MS from synapse.util import Clock from tests import unittest @@ -380,8 +381,8 @@ class ReadWriteLockTestCase(unittest.HomeserverTestCase): self.get_success(lock.__aenter__()) # Wait for ages with the lock, we should not be able to get the lock. - self.reactor.advance(5 * _LOCK_TIMEOUT_MS / 1000) - self.pump() + for _ in range(0, 10): + self.reactor.advance((_RENEWAL_INTERVAL_MS / 1000)) lock2 = self.get_success( self.store.try_acquire_read_write_lock("name", "key", write=True) |