Reduce serialization errors in MultiWriterIdGen (#8456)
We call `_update_stream_positions_table_txn` a lot, which is an UPSERT that can conflict in `REPEATABLE READ` isolation level. Instead of doing a transaction consisting of a single query we may as well run it outside of a transaction.
Showing
- changelog.d/8456.misc 1 addition, 0 deletionschangelog.d/8456.misc
- synapse/storage/database.py 63 additions, 6 deletionssynapse/storage/database.py
- synapse/storage/engines/_base.py 17 additions, 0 deletionssynapse/storage/engines/_base.py
- synapse/storage/engines/postgres.py 9 additions, 1 deletionsynapse/storage/engines/postgres.py
- synapse/storage/engines/sqlite.py 10 additions, 0 deletionssynapse/storage/engines/sqlite.py
- synapse/storage/util/id_generators.py 11 additions, 1 deletionsynapse/storage/util/id_generators.py
- tests/storage/test_base.py 1 addition, 0 deletionstests/storage/test_base.py
Loading
Please register or sign in to comment