Olivier Wilkinson (reivilibre)
f647745492
Docstring on WorkerTemplate
2023-12-06 15:14:41 +00:00
Olivier Wilkinson (reivilibre)
576cade649
Newsfile
...
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
321d3590fe
Add a --generate-only option
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
fbafde81a1
Promote mark_filepath to constant
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
3bb21a9c26
Use `merge_into` when adding workers to the shared config
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
f49dbc7ba7
Add `sharding_allowed` to the WorkerTemplate rather than having a separate function for that
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
7d8824e2dc
Rename function to add_worker_to_instance_map given reduction of scope
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
f38297b619
Remove special logic for adding stream_writers: just make it part of the extra config template
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
8b7463957f
Add `merge_into`
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
26073fa778
Tweak comments
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
94a85b36f7
Convert listener_resources and endpoint_patterns to Set[str]
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
67d4fc8b99
Collapse WORKERS_CONFIG by removing entries with defaults
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
ba3b6a4dfd
Use a lambda for the worker name rather than search and replace later
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
a22eb7dc15
Convert worker templates into dataclass
2023-11-17 12:03:56 +00:00
Olivier Wilkinson (reivilibre)
b39a50a43b
Remove obsolete `"app"` from worker templates
2023-11-17 12:03:56 +00:00
Erik Johnston
1b238e8837
Speed up persisting large number of outliers ( #16649 )
...
Recalculating the roots tuple every iteration could be very expensive, so instead let's do a topological sort.
2023-11-16 14:25:35 +00:00
Erik Johnston
fef08cbee8
Fix sending out of order `POSITION` over replication ( #16639 )
...
If a worker reconnects to Redis we send out the current positions of all our streams. However, if we're also trying to send out a backlog of RDATA at the same time then we can end up sending a `POSITION` with the current token *before* we've sent all the RDATA before the current token.
This doesn't cause actual bugs as the receiving servers see the POSITION, fetch the relevant rows from the DB, and then ignore the old RDATA as they come in. However, this is inefficient so it'd be better if we didn't send out-of-order positions
2023-11-16 13:05:09 +00:00
Erik Johnston
898655fd12
More efficiently handle no-op POSITION ( #16640 )
...
We may receive `POSITION` commands where we already know that worker has
advanced past that position, so there is no point in handling it.
2023-11-16 12:32:17 +00:00
reivilibre
830988ae72
Fix test not detecting tables with missing primary keys and missing replica identities, then add more replica identities. ( #16647 )
...
* Fix the CI query that did not detect all cases of missing primary keys
* Add more missing REPLICA IDENTITY entries
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2023-11-16 12:26:27 +00:00
David Robertson
43d1aa75e8
Add an Admin API to temporarily grant the ability to update an existing cross-signing key without UIA ( #16634 )
2023-11-15 17:28:10 +00:00
Sumner Evans
999bd77d3a
Asynchronous Uploads ( #15503 )
...
Support asynchronous uploads as defined in MSC2246.
2023-11-15 09:19:24 -05:00
Patrick Cloke
80922dc46e
Add links to pre-1.0 changelog issue/PR references. ( #16638 )
2023-11-15 13:31:24 +00:00
Patrick Cloke
f2f2c7c1f0
Use full GitHub links instead of bare issue numbers. ( #16637 )
2023-11-15 08:02:11 -05:00
Will Hunt
4dd18bdc2e
Improve documentation for `/_synapse/admin/v1/rooms/<room_id>/timestamp_to_event` ( #16631 )
2023-11-14 11:43:44 -05:00
Nick Mills-Barrett
0e36a57b60
Remove whole table locks on push rule add/delete ( #16051 )
...
The statements are already executed within a transaction thus a table
level lock is unnecessary.
2023-11-13 16:57:44 +00:00
reivilibre
69afe3f7a0
Add a Postgres `REPLICA IDENTITY` to tables that do not have an implicit one. This should allow use of Postgres logical replication. ( #16456 )
...
* Add Postgres replica identities to tables that don't have an implicit one
Fixes #16224
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
* Move the delta to version 83 as we missed the boat for 82
* Add a test that all tables have a REPLICA IDENTITY
* Extend the test to include when indices are deleted
* isort
* black
* Fully qualify `oid` as it is a 'hidden attribute' in Postgres 11
* Update tests/storage/test_database.py
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
* Add missed tables
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
2023-11-13 16:03:22 +00:00
David Robertson
fb2554b11f
Fix outbound_federation_restricted_to docs & note when added ( #16628 )
2023-11-13 14:26:49 +00:00
dependabot[bot]
7455b9e27d
Bump serde from 1.0.190 to 1.0.192 ( #16627 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:10:28 +00:00
dependabot[bot]
35fac66d20
Bump prometheus-client from 0.17.1 to 0.18.0 ( #16626 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:09:30 +00:00
dependabot[bot]
69d1ee3feb
Bump treq from 22.2.0 to 23.11.0 ( #16623 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:08:31 +00:00
dependabot[bot]
f92af19fa5
Bump types-pyopenssl from 23.2.0.2 to 23.3.0.0 ( #16625 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:06:10 +00:00
dependabot[bot]
22a513014d
Bump types-bleach from 6.1.0.0 to 6.1.0.1 ( #16624 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:05:37 +00:00
dependabot[bot]
ca7421b5fd
Bump towncrier from 23.6.0 to 23.11.0 ( #16622 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-13 11:05:02 +00:00
Patrick Cloke
2c6a7dfcbf
Use attempt_to_set_autocommit everywhere. ( #16615 )
...
To avoid asserting the type of the database connection.
2023-11-09 16:19:42 -05:00
reivilibre
dc7f068d9c
Fix a long-standing bug where Synapse would not unbind third-party identifiers for Application Service users when deactivated and would not emit a compliant response. ( #16617 )
...
* Don't skip unbinding 3PIDs and returning success status when deactivating AS user
Fixes #16608
* Newsfile
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
---------
Signed-off-by: Olivier Wilkinson (reivilibre) <oliverw@matrix.org>
2023-11-09 20:18:25 +00:00
Patrick Cloke
bc4372ad81
Use dbname instead of database for Postgres config. ( #16618 )
2023-11-09 14:40:45 -05:00
Patrick Cloke
9f514dd0fb
Use _invalidate_cache_and_stream_bulk in more places. ( #16616 )
...
This takes advantage of the new bulk method in more places to
invalidate caches for many keys at once (and then to stream that
over replication).
2023-11-09 14:40:30 -05:00
Patrick Cloke
ab3f1b3b53
Convert simple_select_one_txn and simple_select_one to return tuples. ( #16612 )
2023-11-09 11:13:31 -05:00
Patrick Cloke
ff716b483b
Return attrs for more media repo APIs. ( #16611 )
2023-11-09 11:00:30 -05:00
David Robertson
91587d4cf9
Bulk-invalidate e2e cached queries after claiming keys ( #16613 )
...
Co-authored-by: Patrick Cloke <patrickc@matrix.org>
2023-11-09 15:57:09 +00:00
dependabot[bot]
f6aa047aa2
Bump pyicu from 2.11 to 2.12 ( #16603 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 09:28:51 -05:00
dependabot[bot]
2a336cd2fc
Bump serde_json from 1.0.107 to 1.0.108 ( #16604 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-08 09:27:51 -05:00
Patrick Cloke
455ef04187
Avoid updating the same rows multiple times with simple_update_many_txn. ( #16609 )
...
simple_update_many_txn had a bug in it which would cause each
update to be applied twice.
2023-11-07 14:02:09 -05:00
Patrick Cloke
9738b1c497
Avoid executing no-op queries. ( #16583 )
...
If simple_{insert,upsert,update}_many_txn is called without any data
to modify then return instead of executing the query.
This matches the behavior of simple_{select,delete}_many_txn.
2023-11-07 14:00:25 -05:00
Patrick Cloke
ec9ff389f4
More tests for the simple_* methods. ( #16596 )
...
Expand tests for the simple_* database methods, additionally
test against both PostgreSQL and SQLite variants.
2023-11-07 09:34:23 -05:00
Patrick Cloke
7e5d3b06fa
Collect information for PushRuleEvaluator in parallel. ( #16590 )
...
Fetch information needed for push rule evaluation in parallel.
Ideally this would use query pipelining, but this is not
available in psycopg2.
Due to the database thread pool this may result in little
to no parallelization.
2023-11-06 15:41:57 -05:00
Patrick Cloke
1dd3074629
Bump setuptools_rust to match pinned version. ( #16605 )
2023-11-06 09:13:53 -05:00
Patrick Cloke
cc4fe68adf
Support reactor timing metric on more reactors. ( #16532 )
...
Previously only Twisted's EPollReactor was compatible with the
reactor timing metric, notably not working when asyncio was used.
After this change, the following configurations support the reactor
timing metric:
* poll, epoll, or select reactors
* asyncio reactor with a poll, epoll, select, /dev/poll, or kqueue event loop.
2023-11-06 08:31:22 -05:00
dependabot[bot]
1a9b22a3d1
Bump setuptools-rust from 1.8.0 to 1.8.1 ( #16601 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 08:12:18 -05:00
dependabot[bot]
5cf2988694
Bump types-pyyaml from 6.0.12.11 to 6.0.12.12 ( #16602 )
...
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-06 08:12:01 -05:00