| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |/
| | |
| | | |
The profile objects are never used and increase cache size significantly.
|
| | |
| | |
| | | |
Indroduced in #11846.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix:
- https://github.com/matrix-org/synapse/pull/13535#discussion_r949582508
- https://github.com/matrix-org/synapse/pull/13533#discussion_r949577244
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`Requester` instead of the `UserID` (#13024)
Part of #13019
This changes all the permission-related methods to rely on the Requester instead of the UserID. This is a first step towards enabling scoped access tokens at some point, since I expect the Requester to have scope-related informations in it.
It also changes methods which figure out the user/device/appservice out of the access token to return a Requester instead of something else. This avoids having store-related objects in the methods signatures.
|
| | |
| | |
| | |
| | | |
(#13574)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#13551)
Complement PR: https://github.com/matrix-org/complement/pull/450
As suggested in
https://github.com/matrix-org/matrix-spec-proposals/pull/2716#discussion_r941444525
|
| | |
| | |
| | |
| | | |
devices; also expose to Admin API (#13549)
|
| | | |
|
| | |
| | |
| | |
| | | |
Uses Redis replication in additional test cases (instead of
TCP replication). A small step towards dropping TCP replication.
|
| | |
| | |
| | |
| | | |
account or change their password. (#13563)
|
| | | |
|
| | | |
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
madlittlemods/13356-messages-investigation-scratch-v1
Conflicts:
synapse/federation/federation_client.py
synapse/handlers/federation.py
synapse/handlers/federation_event.py
synapse/logging/tracing.py
synapse/storage/controllers/persist_events.py
synapse/storage/controllers/state.py
synapse/storage/databases/main/events_worker.py
synapse/util/ratelimitutils.py
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
poetry.lock
synapse/federation/federation_client.py
synapse/federation/federation_server.py
synapse/handlers/federation.py
synapse/handlers/federation_event.py
synapse/logging/opentracing.py
synapse/rest/client/room.py
synapse/storage/controllers/persist_events.py
synapse/storage/controllers/state.py
|
| | |
| | |
| | |
| | |
| | | |
Follow-up to https://github.com/matrix-org/synapse/pull/13533
Part of https://github.com/matrix-org/synapse/issues/13356
|
| | |
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Sean Quah <seanq@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Track number of hosts affected by the rate limiter so we can differentiate one really noisy homeserver from a general ratelimit tuning problem across the federation.
Follow-up to https://github.com/matrix-org/synapse/pull/13534
Part of https://github.com/matrix-org/synapse/issues/13356
|
| | |
| | |
| | |
| | |
| | |
| | | |
Closes #13415.
Signed-off-by: Ayush Anand <iamayushanand@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Use a state filter or accept partial state in a few places where we
request state, to avoid blocking.
To make lazy-loading `/sync`s work, we need to provide the memberships
of event senders, which are not guaranteed to be in the room state.
Instead we dig through auth events for memberships to present to
clients. The auth events of an event are guaranteed to contain a
passable membership event, otherwise the event would have been rejected.
Note that this only covers the common code paths encountered during
testing. There has been no exhaustive checking of all sync code paths.
Fixes #13146.
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(sleep/reject) (#13534)
Related to https://github.com/matrix-org/synapse/pull/13499
Part of https://github.com/matrix-org/synapse/issues/13356
|
| | |
| | |
| | |
| | |
| | | |
could be larger than the number of results you can actually query for. (#13525)
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Broke by #13522
It looks like we have some rules in the DB with a priority class less
than 0 that don't override the base rules. Before these were just
dropped, but #13522 made that a hard error.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Instrument the federation/backfill part of `/messages` so it's easier to follow what's going on in Jaeger when viewing a trace.
Split out from https://github.com/matrix-org/synapse/pull/13440
Follow-up from https://github.com/matrix-org/synapse/pull/13368
Part of https://github.com/matrix-org/synapse/issues/13356
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Synapse does not currently support faster room joins on deployments with
workers.
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| | | |
| | | |
| | | | |
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
|
| | | |
| | | |
| | | |
| | | | |
stated. (#13514)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This improves load times for push rules:
| Version | Time per user | Time for 1k users |
| -------------------- | ------------- | ----------------- |
| Before | 138 µs | 138ms |
| Now (with custom) | 2.11 µs | 2.11ms |
| Now (without custom) | 49.7 ns | 0.05 ms |
This therefore has a large impact on send times for rooms
with large numbers of local users in the room.
|
| | | |
| | | |
| | | |
| | | | |
`synapse.rest.client.account`. (#13188)
|
| | | |
| | | |
| | | |
| | | | |
database corruption (#13497)
|
| | | |
| | | |
| | | | |
Instrument FederationStateIdsServlet - `/state_ids` so it's easier to follow what's going on in Jaeger when viewing a trace.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit f383b9b3eceaa082d5ae690550fe41460b711779. Other PRs
were seeing mypy failures that looked to be related to mypy-zope.
Confusingly, we didn't see this on #13521.
Revert this for now and investigate later.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Clarifies comments.
* Fixes an erroneous comment (about return type) added in #13455
(ec24813220f9d54108924dc04aecd24555277b99).
* Clarifies the name of a variable.
* Simplifies logic of pulling out the latest join for the requesting user.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
image. (#13515)
|
| | | |
| | | |
| | | | |
Signed-off-by: James Barton <james@neodon.com>
|
| | | |
| | | |
| | | |
| | | | |
purging runs at most every 5m (#13492)
|
| | | | |
|
| | |\| |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
time for clients to update. (#13501)
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Events can be un-rejected or newly-rejected during resync, so ensure we update
the database and caches when that happens.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Use literals in place of `HTTPStatus` constants in tests
* newsfile
* code style
* code style
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add some miscellaneous comments to document sync, especially around
`compute_state_delta`.
Signed-off-by: Sean Quah <seanq@matrix.org>
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| | | |
| | | |
| | | |
| | | | |
From feedback in https://github.com/matrix-org/synapse/pull/13499
|
| | | | |
|
| | | | |
|
| | | | |
|
|\| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
madlittlemods/13356-messages-investigation-scratch-v1
Conflicts:
pyproject.toml
synapse/logging/tracing.py
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | | |
Conflicts:
synapse/logging/opentracing.py
tests/logging/test_opentracing.py
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
```py
@trace
@tag_args
async def get_oldest_event_ids_with_depth_in_room(...)
...
```
Before this PR, you would see a warning in the logs and the span was not exported:
```
2022-08-03 19:11:59,383 - synapse.logging.opentracing - 835 - ERROR - GET-0 - @trace may not have wrapped EventFederationWorkerStore.get_oldest_event_ids_with_depth_in_room correctly! The function is not async but returned a coroutine.
```
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Replace
- `HTTPStatus.NOT_FOUND`
- `HTTPStatus.FORBIDDEN`
- `HTTPStatus.UNAUTHORIZED`
- `HTTPStatus.CONFLICT`
- `HTTPStatus.CREATED`
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
|
| | |\| |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/ |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In state res v2, we apply two passes of iterative auth checks. The first
pass replays power events and events in their auth chains, but only
those belonging to the full conflicted set. The source code as written
suggests that we want only those belonging to the auth difference (which
is a smaller set of events).
At runtime we were doing the correct thing anyway, because the only
callsite of `_reverse_topological_power_sort` passes in the
`full_conflicted_set`. So this really is just a rename.
|
| | |
| | |
| | |
| | |
| | | |
This adds support for the stable identifiers of MSC2285 while
continuing to support the unstable identifiers behind the configuration
flag. These will be removed in a future version.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
(#13441)
Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fix @tag_args being off-by-one (ahead)
Example:
```
argspec.args=[
'self',
'room_id'
]
args=(
<synapse.storage.databases.main.DataStore object at 0x10d0b8d00>,
'!HBehERstyQBxyJDLfR:my.synapse.server'
)
```
---
The previous logic was also flawed and we can end up in a situation like this:
```
argspec.args=['self', 'dest', 'room_id', 'limit', 'extremities']
args=(<synapse.federation.federation_client.FederationClient object at 0x7f1651c18160>, 'hs1', '!jAEHKIubyIfuLOdfpY:hs1')
```
From this source:
```py
async def backfill(
self, dest: str, room_id: str, limit: int, extremities: Collection[str]
) -> Optional[List[EventBase]]:
```
And this usage:
```py
events = await self._federation_client.backfill(
dest, room_id, limit=limit, extremities=extremities
)
```
which would previously cause this error:
```
synapse_main | 2022-08-04 06:13:12,051 - synapse.handlers.federation - 424 - ERROR - GET-5 - Failed to backfill from hs1 because tuple index out of range
synapse_main | Traceback (most recent call last):
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation.py", line 392, in try_backfill
synapse_main | await self._federation_event_handler.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/handlers/federation_event.py", line 593, in backfill
synapse_main | events = await self._federation_client.backfill(
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 828, in _wrapper
synapse_main | return await func(*args, **kwargs)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 827, in _wrapper
synapse_main | with wrapping_logic(func, *args, **kwargs):
synapse_main | File "/usr/local/lib/python3.9/contextlib.py", line 119, in __enter__
synapse_main | return next(self.gen)
synapse_main | File "/usr/local/lib/python3.9/site-packages/synapse/logging/tracing.py", line 922, in _wrapping_logic
synapse_main | set_attribute("ARG_" + arg, str(args[i + 1])) # type: ignore[index]
synapse_main | IndexError: tuple index out of range
```
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
(#13455)
* Adds docstrings and inline comments.
* Formats SQL queries using triple quoted strings.
* Minor formatting changes.
* Avoid fetching `event_push_summary_stream_ordering` multiple times
in the same transactions.
|
| | | |
|
| | |
| | |
| | |
| | | |
for a room which it has not fully joined yet. (#13416)
|
| | |
| | |
| | |
| | |
| | |
| | | |
Still maintains local in memory lookup optimisation, but does any external
lookup as part of the deferred that prevents duplicate lookups for the same
event at once. This makes the assumption that fetching from an external
cache is a non-zero load operation.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Fixes: #12534
Signed-off-by: Dirk Klimpel <dirk@klimpel.org>
|
| | |
| | |
| | | |
Part of my continuing quest to make the docker images build quicker: copy nginx and redis in from base docker images, rather than apt installing each time.
|
| | |
| | |
| | |
| | | |
Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
|
| | | |
|
| | |
| | |
| | |
| | | |
See https://github.com/matrix-org/synapse/pull/13400#discussion_r937213304
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\| |
| | |
| | |
| | | |
madlittlemods/13356-messages-investigation-scratch-v1
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
This reverts commit 270db429cd8bd05032ddde0a4b48da811dd26276.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Hopefully fix https://github.com/matrix-org/synapse/runs/7645395562?check_suite_focus=true#step:7:6727
```
builtins.ImportError: cannot import name '_PY3' from 'twisted.python.compat' (unknown location)
```
|
| |\|
| | |
| | |
| | |
| | |
| | | |
Conflicts:
docs/usage/configuration/config_documentation.md
synapse/api/auth.py
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
In Jaeger:
- Before: huge list of uncategorized database calls
- After: nice and collapsible into units of work
|
| | |
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Andrew Doh <andrewddo@gmail.com>
Co-authored-by: Patrick Cloke <clokep@users.noreply.github.com>
Co-authored-by: Andrew Morgan <andrewm@element.io>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Improved section regarding server admin
Added steps describing how to elevate an existing user to administrator by manipulating a `postgres` database.
Signed-off-by: jejo86 28619134+jejo86@users.noreply.github.com
* Improved section regarding server admin
* Reference database settings
Add instructions to check database settings to find out the database name, instead of listing all available PostgreSQL databases.
* Add suggestions from PR conversation
Replace config filename `homeserver.yaml`. with "config file".
Remove instructions to switch to `postgres` user.
Add instructions how to connect to SQLite database.
* Update changelog.d/13230.doc
Co-authored-by: reivilibre <olivier@librepush.net>
|
| | |
| | |
| | |
| | |
| | | |
* Update doc for setting `macaroon_secret_key`
* newsfile
|
| | | |
|
| | |
| | |
| | |
| | | |
Co-authored-by: MattC <buffless-matt@users.noreply.github.com>
Co-authored-by: Brendan Abolivier <babolivier@matrix.org>
|
| | |
| | |
| | | |
Fixes: #13053
|
| | |
| | |
| | | |
Fixes: #13433
|
| | |
| | |
| | |
| | |
| | |
| | | |
`Failed to detach context` errors
See https://github.com/matrix-org/synapse/pull/13400#discussion_r936195492
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
madlittlemods/13356-messages-investigation-scratch-v1
Conflicts:
synapse/api/auth.py
|
| | | | |
|
| |/ /
|/| | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Do as they tell us:
https://github.com/matrix-org/synapse/runs/7639487550?check_suite_focus=true
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
docs/usage/configuration/config_documentation.md
synapse/logging/opentracing.py
Got changes from:
- https://github.com/matrix-org/synapse/pull/13362/files
|
| | |
| | |
| | |
| | | |
the correct branches after a release. (#13393)
|
| | |
| | |
| | |
| | |
| | | |
so that we raise the intended error instead.
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| |\ \ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
fails. (#13403)
|
| | | |
| | | |
| | | |
| | | | |
#13404 removed an import of `Optional` which was still needed
due to #13413 added more usages.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously, `_resolve_state_at_missing_prevs` returned the resolved
state before an event and a partial state flag. These were unwieldy to
carry around would only ever be used to build an event context. Build
the event context directly instead.
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| | | |
| | | |
| | | | |
Co-authored-by: Sean Quah <8349537+squahtx@users.noreply.github.com>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that we re-check the auth rules during state resync, otherwise
rejected events get un-rejected.
|
| |\| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Synapse 1.64.0rc2 (2022-07-29)
==============================
This RC reintroduces support for `account_threepid_delegates.email`, which was removed in 1.64.0rc1. It remains deprecated and will be removed altogether in a future release. ([\#13406](https://github.com/matrix-org/synapse/issues/13406))
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Reverts commit fa71bb18b527d1a3e2629b48640ea67fff2f8c59, and tweaks documentation.
Signed-off-by: 3nprob <git@3n.anonaddy.com>
|
| | | |
| | | |
| | | |
| | | | |
(#13221)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#13370)
Signed-off-by: Šimon Brandner <simon.bra.ag@gmail.com>
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
(#13343)
Implements MSC3848
|
| | | |
| | | |
| | | |
| | | | |
room via any server. (#13160)
|
| | | |
| | | |
| | | |
| | | | |
(#13346)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
than having that be a manual process. (#12978)
Co-authored-by: Andrew Morgan <1342360+anoadragon453@users.noreply.github.com>
|
| |\| | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `room_id` field represented the parent space for each room
and was made redundant by changes in the API shape where the
`children_state` is now nested underneath each `room`.
The room ID of each child is in the `state_key` field and is still
available.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Make sure that we only pull out events from the db once they have no
prev-events with partial state.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#13355)
Avoid blocking on full state in `_resolve_state_at_missing_prevs` and
return a new flag indicating whether the resolved state is partial.
Thread that flag around so that it makes it into the event context.
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
registration. (#13350)
When registering a new account via SSO on iOS, the text field becomes pretty annoying as it autocapitalises and autocorrects your input. This PR fixes that (although I have only tested the raw HTML file on the simulator, I'm not sure how to get the complete setup available for testing in the flow).
|
| | |
| | |
| | |
| | |
| | | |
Improve/simplify Caddy examples. Remove Caddy v1 (has long been EOL'ed)
Signed-off-by: Matthew Holt <mholt@users.noreply.github.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously, TLS could only be used with STARTTLS.
Add a new option `force_tls`, where TLS is used from the start.
Implicit TLS is recommended over STARTLS,
see https://datatracker.ietf.org/doc/html/rfc8314
Fixes #8046.
Signed-off-by: Jan Schär <jan@jschaer.ch>
|
| | | |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
See #10826 and #10786 for context as to why we had to disable pruning on
those caches.
Now that `get_users_who_share_room_with_user` is called frequently only
for presence, we just need to make calls to it less frequent and then we
can remove the various levels of caching that is going on.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
See https://github.com/matrix-org/synapse/pull/13400#discussion_r935887649
|
| | |
|
| | |
|
| |
| |
| |
| | |
This reverts commit d15fa457c987f51908cdba440655a0d6d88573a9.
|
| | |
|
| |
| |
| |
| | |
Doesn't force tracing for the child spans yet
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
AFAICT, this never worked before because everything was serialized into `content["org.matrix.opentracing_context"]`
but `start_active_span_from_edu` read from `content["opentracing"]`.
See https://github.com/matrix-org/synapse/pull/5852#discussion_r934960586
Do we even still want this?
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
See:
- https://github.com/open-telemetry/opentelemetry-python/pull/198#discussion_r333399436
- https://github.com/open-telemetry/opentelemetry-python/issues/219
|
| | |
|
| |
| |
| |
| | |
opentelemetry works
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `incoming-federation-request` vs `process-federation_request` was first introduced in
https://github.com/matrix-org/synapse/pull/11870
- Span for remote trace: `incoming-federation-request`
- `child_of` reference: `origin_span_context`
- `follows_from` reference: `servlet_span`
- Span for local trace: `process-federation-request`
- `child_of` reference: `servlet_span` (by the nature of it being active)
- `follows_from` reference: `incoming-federation-request`
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix error:
```
AttributeError: 'SpanContext' object has no attribute 'get'
```
`Context`:
```
{'current-span-1a226c96-a5db-4412-bcaa-1fdd34213c5c': _Span(name="sendToDevice", context=SpanContext(trace_id=0x5d2dcc3fdc8205046d60a5cd18672ac6, span_id=0x715c736ff5f4d208, trace_flags=0x01, trace_state=[], is_remote=False))}
```
`SpanContext`:
```
SpanContext(trace_id=0xf7cd9d058b7b76f364bdd649c4ba7b8a, span_id=0x287ce71bac31bfc4, trace_flags=0x01, trace_state=[], is_remote=False)
```
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
```
Invalid type StreamToken for attribute value. Expected one of ['bool', 'str', 'bytes', 'int', 'float'] or a sequence of those types
```
Had to add a few more logs to find this instance since the warning doens't give much info where I am setting this invalid attribute.
This was good enough to find it in the code.
```
BoundedAttributes __setitem__ key=since_token value=StreamToken(room_key=RoomStreamToken(topological=None, stream=1787, instance_map=frozendict.frozendict({})), presence_key=481272, typing_key=0, receipt_key=340, account_data_key=1233, push_rules_key=8, to_device_key=57, device_list_key=199, groups_key=0)
BoundedAttributes __setitem__ key=now_token value=StreamToken(room_key=RoomStreamToken(topological=None, stream=1787, instance_map=frozendict.frozendict({})), presence_key=481287, typing_key=0, receipt_key=340, account_data_key=1233, push_rules_key=8, to_device_key=57, device_list_key=199, groups_key=0)
BoundedAttributes __setitem__ key=token value=StreamToken(room_key=RoomStreamToken(topological=None, stream=1787, instance_map=frozendict.frozendict({})), presence_key=481291, typing_key=0, receipt_key=340, account_data_key=1237, push_rules_key=8, to_device_key=57, device_list_key=199, groups_key=0)
```
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
See https://github.com/matrix-org/synapse/pull/13400#discussion_r931325627
|
| | |
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
See https://github.com/matrix-org/synapse/issues/11850
|
|
|
|
|
|
|
|
|
| |
(#13205)
Depends on https://github.com/matrix-org/synapse/pull/13320
Complement tests: https://github.com/matrix-org/complement/pull/406
We could use the same method to backfill for `/context` as well in the future, see https://github.com/matrix-org/synapse/issues/3848
|
|
|
| |
"changed in" goes before the example
|
|
|
| |
frozendict 2.3.3 includes fixes for memory leaks that get triggered during `/sync`.
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a room has the partial state flag, we may not have an accurate
`m.room.member` event for event senders in the room's current state, and
so cannot perform soft fail checks correctly. Skip the soft fail check
entirely in this case.
As an alternative, we could block until we have full state, but that
would prevent us from receiving incoming events over federation, which
is undesirable.
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| |
|
| |
|
| |
|
|
|
| |
Co-authored-by: David Robertson <davidr@element.io>
|
| |
|
|
|
| |
After this change `synapse.logging` is fully typed.
|
|
|
| |
This comes from two identical definitions in each of the base stores, and means the base slaved store is now empty and can be removed.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
Resolves #13330.
Missed in #13125.
Signed-off-by: David Teller <davidt@element.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Update `get_pdu` to return the untouched, pristine `EventBase` as it was originally seen over federation (no metadata added). Previously, we returned the same `event` reference that we stored in the cache which downstream code modified in place and added metadata like setting it as an `outlier` and essentially poisoned our cache. Now we always return a copy of the `event` so the original can stay pristine in our cache and re-used for the next cache call.
Split out from https://github.com/matrix-org/synapse/pull/13205
As discussed at:
- https://github.com/matrix-org/synapse/pull/13205#discussion_r918365746
- https://github.com/matrix-org/synapse/pull/13205#discussion_r918366125
Related to https://github.com/matrix-org/synapse/issues/12584. This PR doesn't fix that issue because it hits [`get_event` which exists from the local database before it tries to `get_pdu`](https://github.com/matrix-org/synapse/blob/7864f33e286dec22368dc0b11c06eebb1462a51e/synapse/federation/federation_client.py#L581-L594).
|
| |
| |
| |
| | |
(#13318)
|
|\| |
|
| | |
|
| |
| |
| | |
This can cause a lot of extra load on servers with lots of appservice users. Introduced in #13078
|
| | |
|
| |
| |
| |
| | |
Functions that are decorated with `trace` are now properly typed
and the type hints for them are fixed.
|
|\| |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Add another bash script to the contrib directory. It creates multiple stream writers and also prints out the example configuration for homeserver.yaml.
Signed-off-by: Ville Petteri Huh.
|
| |
| |
| |
| | |
Signed-off-by: Jörg Behrmann <behrmann@physik.fu-berlin.de>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix race conditions in the async cache invalidation logic, by separating
the async & local invalidation calls and ensuring any async call i
executed first.
Signed off by Nick @ Beeper (@Fizzadar).
|
| |
| |
| |
| | |
`_get_joined_profiles_from_event_ids`. (#13300)
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Sean Quah <seanq@matrix.org>
|
| |
| |
| | |
Co-authored-by: David Robertson <davidr@element.io>
|
| | |
|
| |
| |
| | |
This reverts commit 5d4028f217f178fcd384d5bfddd92225b4e78c51.
|
| | |
|
| |
| |
| |
| |
| | |
To close: #10294.
Signed off by Nick @ Beeper.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
More prep work for asyncronous caching, also makes all process_replication_rows methods consistent (presence handler already is so).
Signed off by Nick @ Beeper (@Fizzadar)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix https://github.com/matrix-org/synapse/issues/13016
## New error code and status
### Before
Previously, we returned a `404` for `/thumbnail` which isn't even in the spec.
```json
{
"errcode": "M_NOT_FOUND",
"error": "Not found [b'hs1', b'tefQeZhmVxoiBfuFQUKRzJxc']"
}
```
### After
What does the spec say?
> 400: The request does not make sense to the server, or the server cannot thumbnail the content. For example, the client requested non-integer dimensions or asked for negatively-sized images.
>
> *-- https://spec.matrix.org/v1.1/client-server-api/#get_matrixmediav3thumbnailservernamemediaid*
Now with this PR, we respond with a `400` when we don't have thumbnails to serve and we explain why we might not have any thumbnails.
```json
{
"errcode": "M_UNKNOWN",
"error": "Cannot find any thumbnails for the requested media ([b'example.com', b'12345']). This might mean the media is not a supported_media_format=(image/jpeg, image/jpg, image/webp, image/gif, image/png) or that thumbnailing failed for some other reason. (Dynamic thumbnails are disabled on this server.)",
}
```
> Cannot find any thumbnails for the requested media ([b'example.com', b'12345']). This might mean the media is not a supported_media_format=(image/jpeg, image/jpg, image/webp, image/gif, image/png) or that thumbnailing failed for some other reason. (Dynamic thumbnails are disabled on this server.)
---
We still respond with a 404 in many other places. But we can iterate on those later and maybe keep some in some specific places after spec updates/clarification: https://github.com/matrix-org/matrix-spec/issues/1122
We can also iterate on the bugs where Synapse doesn't thumbnail when it should in other issues/PRs.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Instead of manually inserting fake data. This fixes some issues with
having to manually calculate stream orderings and other oddities.
|
| |
| |
| | |
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
`frozendict` 2.3.2 includes a fix for a memory leak in
`frozendict.__hash__`. This likely has no impact outside of the
deprecated `/initialSync` endpoint, which uses `StreamToken`s,
containing `RoomStreamToken`s, containing `frozendict`s, as cache keys.
Signed-off-by: Sean Quah <seanq@matrix.org>
|