element-hq / element-hq/synapse

SSS appears to burn huge amounts of bandwidth returning obsolete `ops` fields

Open
#18,517 8 comments 1 reaction 0 assignees View on GitHub
A-Performance A-Spec-Compliance A-Sync O-Frequent S-Minor T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

### Description

While hacking on aurora (EWX), I made the mistake of looking in the network inspector /sync responses and discovered that the entire roomlist was being returned in every single Simplified Sliding Sync (SSS) response in an `ops` field. As a result, every single long poll is burning an additional 10s of kilobytes of response re-transferring every room Id you're in(!)

However, SSS doesn't even define an `ops` field in the [MSC](https://github.com/matrix-org/matrix-spec-proposals/blob/erikj/sss/proposals/4186-simplified-sliding-sync.md) - this was the main thing we removed from sliding sync when we simplified it into SSS.

So I assume this is a weird thinko throwback which can & should be removed?

### Steps to reproduce

- list the steps
- that reproduce the bug
- using hyphens as bullet points

### Homeserver

matrix.org

### Synapse Version

1.131.0rc1 (b=matrix-org-hotfixes-priv,68afa35f06)

### Installation Method

Other (please mention below)

### Database

postgres

### Workers

Multiple workers

### Platform

deb

### Configuration

_No response_

### Relevant log output

```shell
{
"pos": "78864226/m5961565550~2.5961565552~37.5961565552_757284974_40074560_3698127888_4163553842_265824357_1495132460_11139272087_0_492038",
"lists": {
"all_rooms": {
"count": 153,
"ops": [
{
"op": "SYNC",
"range": [
0,
152
],
"room_ids": [
"!uPnuYllGuuELYxjtma:matrix.org",
/* ...150 room ids... */
"!SwmvnUnaSDxPdvRevr:matrix.org",
]
}
]
}
},
"rooms": {
"!OGEhHVWSdvArJzumhm:matrix.org": {
...
}
},
"extensions": {
"account_data": {
"global": [],
"rooms": {}
},
"receipts": {
"rooms": {}
},
"typing": {
"rooms": {}
}
}
}
```

### Anything else that would be useful to know?

_No response_

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.