diff options
author | Richard van der Hoff <1389908+richvdh@users.noreply.github.com> | 2022-01-04 16:10:05 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-04 16:10:05 +0000 |
commit | bd9821f7f17916deec9266483e26b69cd5ce2b3b (patch) | |
tree | 795949ca470eac01d78945b9b8b17cc0462f4870 | |
parent | Include the topic event in the prejoin state, per MSC3173. (#11666) (diff) | |
download | synapse-bd9821f7f17916deec9266483e26b69cd5ce2b3b.tar.xz |
Better error messages from `get_create_event_for_room` (#11638)
"Unknown room" can mean a multitude of things here. To help with debugging, add some more words to the exception text.
-rw-r--r-- | changelog.d/11638.misc | 1 | ||||
-rw-r--r-- | synapse/storage/databases/main/state.py | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/changelog.d/11638.misc b/changelog.d/11638.misc new file mode 100644 index 0000000000..76dfb56bda --- /dev/null +++ b/changelog.d/11638.misc @@ -0,0 +1 @@ +Improve the error messages from `get_create_event_for_room`. diff --git a/synapse/storage/databases/main/state.py b/synapse/storage/databases/main/state.py index 7e5a6aae18..2fb3e65192 100644 --- a/synapse/storage/databases/main/state.py +++ b/synapse/storage/databases/main/state.py @@ -177,11 +177,15 @@ class StateGroupWorkerStore(EventsWorkerStore, SQLBaseStore): NotFoundError if the room is unknown """ state_ids = await self.get_current_state_ids(room_id) + + if not state_ids: + raise NotFoundError(f"Current state for room {room_id} is empty") + create_id = state_ids.get((EventTypes.Create, "")) # If we can't find the create event, assume we've hit a dead end if not create_id: - raise NotFoundError("Unknown room %s" % (room_id,)) + raise NotFoundError(f"No create event in current state for room {room_id}") # Retrieve the room's create event and return create_event = await self.get_event(create_id) |