Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

upgrading from before 1.3.0 to 1.10.0 destroys all your rooms #6923

Closed

Description

@richvdh

the delete_old_current_state_events background update clears current_state_events of any rooms with no rows where membership='join'. But membership is only populated by the current_state_events_membership update, so this goes badly.

Activity

  1. richvdh commented on Feb 17, 2020

    @richvdh
    MemberAuthor

    fixed by #6924

  2. sandhose commented on Feb 19, 2020

    @sandhose
    Member

    Because the FreeBSD port is still on 1.10.0, I ran into this when I upgraded. Is there a way to recover from this? I'm the only user of my homeserver, there are not a lot of rooms to restore

  3. sandhose commented on Feb 19, 2020

    @sandhose
    Member

    I kinda got my HS running again. What I did is:

    • backup my database before doing anything
    • update the room_version in the rooms table to be 1 when the field was NULL to get past this error
    • try to rejoin all the rooms1
    • delete the entries in current_state_events for rooms I could not manage to join
    • re-join those rooms

    Right now I'm figuring out other conflicts in the database, mainly in *_historical tables

    curl -X GET 'https://HS/_matrix/client/r0/joined_rooms' | jq -r '.joined_rooms[]' | while read r
    do 
      curl -X POST "https://HS/_matrix/client/r0/join/$r"
    done
    

    Footnotes

    1. basically something like this: ↩

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions