element-hq / element-hq/synapse
Empty room is created because of join ratelimit
- 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
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