element-hq / element-hq/synapse

Empty room is created because of join ratelimit

Open
#8,309 0 comments 0 reactions 0 assignees View on GitHub
A-Create-Room S-Minor T-Defect
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#8309](https://github.com/matrix-org/synapse/issues/8309).

---

### Description

When creating many rooms it can happen, that the room creator can't join the room because he is blocked by the rate limiting option `rc_joins`. This leads to a room without any members, which can't be deleted again by the creator because he is not a member of the room

### Steps to reproduce

- set low `rc_joins` limits
- submit multiple create room requests
- the failed ones create a room without any members (can be checked in the database)

Possible solutions:
1. Do not apply the join ratelimit when creating a room
2. Or do not create a room when it would hit the join limit

### Version information

- **Version**:

v1.19.1

- **Install method**:

docker image

- **Platform**:

ec2, t3.2xlarge, ubuntu18.04, in docker container

Contributor guide

Open the contributing guide

Research direction

Start by configuring a low rc_joins limit and submitting multiple create-room requests, then verify the empty rooms in the database. Trace the room-creation and join-rate-limit handling to determine where the failed request leaves persistent state. Done means failed creations do not leave undeletable rooms, while successful room creation and rate limiting still behave as expected.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.