Skip to content

Commit fbaff67

Browse files
committed
Merge branch 'develop' into release-v1.152
2 parents 09b48cf + c8ce96f commit fbaff67

52 files changed

Lines changed: 3628 additions & 205 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

changelog.d/19424.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Add experimental support for [MSC4242](https://github.com/matrix-org/matrix-spec-proposals/pull/4242): State DAGs. Excludes federation support.

changelog.d/19473.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Reduce database disk space usage by pruning old rows from `device_lists_changes_in_room`.

changelog.d/19639.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix a bug introduced in v1.145 where a non-admin could bypass admin checks for downloading remote quarantined media. This relied on the media already being previously present on the homeserver.

changelog.d/19657.feature

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Adds [Admin API](https://element-hq.github.io/synapse/latest/usage/administration/admin_api/index.html) endpoints to
2+
list, fetch and delete user reports.

changelog.d/19696.doc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update the developer stream docs for creating a new stream to highlight places that require documentation updates.

changelog.d/19709.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Reduce database disk space usage by pruning old rows from `device_lists_changes_in_room`.

changelog.d/19712.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Small simplifications to the events class.

contrib/grafana/synapse.json

Lines changed: 150 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6809,6 +6809,155 @@
68096809
],
68106810
"title": "Stale extremity dropping",
68116811
"type": "timeseries"
6812+
},
6813+
{
6814+
"datasource": {
6815+
"uid": "${DS_PROMETHEUS}"
6816+
},
6817+
"description": "For a given percentage P, the number X where P% of events were persisted to rooms with X state DAG forward extremities or fewer.",
6818+
"fieldConfig": {
6819+
"defaults": {
6820+
"links": []
6821+
},
6822+
"overrides": []
6823+
},
6824+
"gridPos": {
6825+
"h": 8,
6826+
"w": 12,
6827+
"x": 12,
6828+
"y": 50
6829+
},
6830+
"id": 181,
6831+
"options": {
6832+
"alertThreshold": true
6833+
},
6834+
"pluginVersion": "9.2.2",
6835+
"targets": [
6836+
{
6837+
"datasource": {
6838+
"uid": "${DS_PROMETHEUS}"
6839+
},
6840+
"expr": "histogram_quantile(0.5, rate(synapse_storage_msc4242_state_dag_forward_extremities_persisted_bucket{server_name=\"$server_name\"}[$bucket_size]) and on (instance, job, index) (synapse_storage_events_persisted_events_total > 0))",
6841+
"format": "time_series",
6842+
"intervalFactor": 1,
6843+
"legendFormat": "50%",
6844+
"refId": "A"
6845+
},
6846+
{
6847+
"datasource": {
6848+
"uid": "${DS_PROMETHEUS}"
6849+
},
6850+
"expr": "histogram_quantile(0.75, rate(synapse_storage_msc4242_state_dag_forward_extremities_persisted_bucket{server_name=\"$server_name\"}[$bucket_size]) and on (instance, job, index) (synapse_storage_events_persisted_events_total > 0))",
6851+
"format": "time_series",
6852+
"intervalFactor": 1,
6853+
"legendFormat": "75%",
6854+
"refId": "B"
6855+
},
6856+
{
6857+
"datasource": {
6858+
"uid": "${DS_PROMETHEUS}"
6859+
},
6860+
"expr": "histogram_quantile(0.90, rate(synapse_storage_msc4242_state_dag_forward_extremities_persisted_bucket{server_name=\"$server_name\"}[$bucket_size]) and on (instance, job, index) (synapse_storage_events_persisted_events_total > 0))",
6861+
"format": "time_series",
6862+
"intervalFactor": 1,
6863+
"legendFormat": "90%",
6864+
"refId": "C"
6865+
},
6866+
{
6867+
"datasource": {
6868+
"uid": "${DS_PROMETHEUS}"
6869+
},
6870+
"expr": "histogram_quantile(0.99, rate(synapse_storage_msc4242_state_dag_forward_extremities_persisted_bucket{server_name=\"$server_name\"}[$bucket_size]) and on (instance, job, index) (synapse_storage_events_persisted_events_total > 0))",
6871+
"format": "time_series",
6872+
"intervalFactor": 1,
6873+
"legendFormat": "99%",
6874+
"refId": "D"
6875+
}
6876+
],
6877+
"title": "Events persisted, by number of state DAG forward extremities in room (quantiles)",
6878+
"type": "timeseries"
6879+
},
6880+
{
6881+
"datasource": {
6882+
"uid": "${DS_PROMETHEUS}"
6883+
},
6884+
"description": "Colour reflects the number of events persisted to rooms with the given number of state DAG forward extremities, or fewer.",
6885+
"fieldConfig": {
6886+
"defaults": {
6887+
"custom": {
6888+
"hideFrom": {
6889+
"legend": false,
6890+
"tooltip": false,
6891+
"viz": false
6892+
},
6893+
"scaleDistribution": {
6894+
"type": "linear"
6895+
}
6896+
}
6897+
},
6898+
"overrides": []
6899+
},
6900+
"gridPos": {
6901+
"h": 8,
6902+
"w": 12,
6903+
"x": 0,
6904+
"y": 50
6905+
},
6906+
"id": 127,
6907+
"options": {
6908+
"calculate": false,
6909+
"calculation": {},
6910+
"cellGap": 1,
6911+
"cellValues": {},
6912+
"color": {
6913+
"exponent": 0.5,
6914+
"fill": "#5794F2",
6915+
"min": 0,
6916+
"mode": "opacity",
6917+
"reverse": false,
6918+
"scale": "exponential",
6919+
"scheme": "Oranges",
6920+
"steps": 128
6921+
},
6922+
"exemplars": {
6923+
"color": "rgba(255,0,255,0.7)"
6924+
},
6925+
"filterValues": {
6926+
"le": 1e-9
6927+
},
6928+
"legend": {
6929+
"show": true
6930+
},
6931+
"rowsFrame": {
6932+
"layout": "auto"
6933+
},
6934+
"showValue": "never",
6935+
"tooltip": {
6936+
"show": true,
6937+
"yHistogram": true
6938+
},
6939+
"yAxis": {
6940+
"axisPlacement": "left",
6941+
"decimals": 0,
6942+
"reverse": false,
6943+
"unit": "short"
6944+
}
6945+
},
6946+
"pluginVersion": "9.2.2",
6947+
"targets": [
6948+
{
6949+
"datasource": {
6950+
"uid": "${DS_PROMETHEUS}"
6951+
},
6952+
"expr": "rate(synapse_storage_msc4242_state_dag_forward_extremities_persisted_bucket{server_name=\"$server_name\"}[$bucket_size]) and on (instance, job, index) (synapse_storage_events_persisted_events_total > 0)",
6953+
"format": "heatmap",
6954+
"intervalFactor": 1,
6955+
"legendFormat": "{{le}}",
6956+
"refId": "A"
6957+
}
6958+
],
6959+
"title": "Events persisted, by number of state DAG forward extremities in room (heatmap)",
6960+
"type": "heatmap"
68126961
}
68136962
],
68146963
"title": "Extremities",
@@ -7711,4 +7860,4 @@
77117860
"uid": "000000012",
77127861
"version": 1,
77137862
"weekStart": ""
7714-
}
7863+
}

docs/development/synapse_architecture/streams.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,13 @@ necessary registration and event handling.
179179
- don't forget the super call
180180
- add local-only [invalidations to your writer transactions](https://github.com/element-hq/synapse/blob/4367fb2d078c52959aeca0fe6874539c53e8360d/synapse/storage/databases/main/thread_subscriptions.py#L201)
181181

182+
**Update docs:**
183+
- Update the [*Stream
184+
writers*](https://github.com/element-hq/synapse/blob/develop/docs/workers.md#stream-writers)
185+
section in the worker docs with a new section for the stream
186+
- If this stream can only be handled by specific workers, add a new section to the
187+
[upgrade notes](https://github.com/element-hq/synapse/blob/develop/docs/upgrade.md).
188+
182189
**For streams to be used in sync:**
183190
- add a new field to [`StreamToken`](https://github.com/element-hq/synapse/blob/4367fb2d078c52959aeca0fe6874539c53e8360d/synapse/types/__init__.py#L1003)
184191
- add a new [`StreamKeyType`](https://github.com/element-hq/synapse/blob/4367fb2d078c52959aeca0fe6874539c53e8360d/synapse/types/__init__.py#L999)

0 commit comments

Comments
 (0)