I’ve set up a Lemmy instance and tested federation by commenting with my Mastodon account on the lemmy instance, which worked.
But I broke the test instance and had to start over (not even once).
The productive instance runs now, but after a few days I figured out that there is still the old post from the old installation on Mastodon and over Mastodon I can’t see the new post and no new comments?
It is the same link (older Mastodon post, old Mastodon post, new Lemmy post), but the content is different.
- The post itself doesn’t update (it is completely different)
- The comments don’t update (different comments)
How to solve this problem? Is it even solvable?
GitHub issue about this topic: https://github.com/LemmyNet/lemmy/issues/3782
Some of it might be avoided by tweaking the PostgreSQL database with higher key values after the new install, but the whole situation isn’t really planned for or recognized in the code
Might it be a good idea to to just copy the post so it gets a higher ID, which wasn’t used before? Because the productive system is already running and has a lot of content and a new reinstall might even block more IDs.
if it were me right now with Lemmy 0.18.4, I’d take the server offline, do a PostgreSQL dump file - keep a copy, then hand-edit the sequence numbers in the dump file - and do a restore.
you probably only had a few users, so I would set user to 100, person id can be higher because of federation - but jump ahead to 10000 maybe. Post and comment set ahead to 10000 … and community set ahead to 10000 because that gets federated
the PostgreSQL sequence numbers should only get used on newly created objects here-forward.
That sounds complicated and I am afraid something could break (again). The last days I tried to fix something in the db, which led to other problems.
It is complicated. It’s surely a damned-if-do damned-if-don’t situation. It doesn’t sound like you had all that much in terms of local users, communities, posts, comments - so at least that’s in your favor.
I tried to copy some posts, but it looks like it is totally screwed up, now. Even higher ids show wrong content on some Mastodon instances, even if I am sure I only did a few tests with posts.
Only way to solve this (imho) is to reinstall Lemmy BUT use another subdomain.
What do you think? Will this work?
Only way to solve this (imho) is to reinstall Lemmy BUT use another subdomain.
I wold agree that this is worth considering as an approach to not clash identity and get into custom SQL or Rust programming. But there isn’t even really a procedure in place to decommission the old lemmy entity… so another damned if you do, damned if you don’t in 0.18.4 era.
I’m a little surprised that the federation private key/public key signing doesn’t get upset about all new keys appearing on the same domain name. I’ve tried to get details of exactly how a server joins the Lemmy network and gets discovered over on !lemmyfederation@lemmy.ml but haven’t gotten any actually discussion on the details.
What do you think? Will this work?
I’ve seen people nuke and start-over their database from empty several times while having problems setting up NGinx and Docker… or whatever part.
I’m glancing at the list of SEQUENCE in Lemmy…
CREATE SEQUENCE public.admin_purge_comment_id_seq CREATE SEQUENCE public.admin_purge_community_id_seq CREATE SEQUENCE public.admin_purge_person_id_seq CREATE SEQUENCE public.admin_purge_post_id_seq CREATE SEQUENCE public.captcha_answer_id_seq CREATE SEQUENCE public.comment_aggregates_id_seq CREATE SEQUENCE public.comment_id_seq CREATE SEQUENCE public.comment_like_id_seq CREATE SEQUENCE public.comment_reply_id_seq CREATE SEQUENCE public.comment_report_id_seq CREATE SEQUENCE public.comment_saved_id_seq CREATE SEQUENCE public.community_aggregates_id_seq CREATE SEQUENCE public.community_block_id_seq CREATE SEQUENCE public.community_follower_id_seq CREATE SEQUENCE public.community_id_seq CREATE SEQUENCE public.community_language_id_seq CREATE SEQUENCE public.community_moderator_id_seq CREATE SEQUENCE public.community_person_ban_id_seq CREATE SEQUENCE public.custom_emoji_id_seq CREATE SEQUENCE public.custom_emoji_keyword_id_seq CREATE SEQUENCE public.email_verification_id_seq CREATE SEQUENCE public.federation_allowlist_id_seq CREATE SEQUENCE public.federation_blocklist_id_seq CREATE SEQUENCE public.instance_id_seq CREATE SEQUENCE public.language_id_seq CREATE SEQUENCE public.local_site_id_seq CREATE SEQUENCE public.local_site_rate_limit_id_seq CREATE SEQUENCE public.local_user_id_seq CREATE SEQUENCE public.local_user_language_id_seq CREATE SEQUENCE public.mod_add_community_id_seq CREATE SEQUENCE public.mod_add_id_seq CREATE SEQUENCE public.mod_ban_from_community_id_seq CREATE SEQUENCE public.mod_ban_id_seq CREATE SEQUENCE public.mod_hide_community_id_seq CREATE SEQUENCE public.mod_lock_post_id_seq CREATE SEQUENCE public.mod_remove_comment_id_seq CREATE SEQUENCE public.mod_remove_community_id_seq CREATE SEQUENCE public.mod_remove_post_id_seq CREATE SEQUENCE public.mod_sticky_post_id_seq CREATE SEQUENCE public.mod_transfer_community_id_seq CREATE SEQUENCE public.password_reset_request_id_seq CREATE SEQUENCE public.person_aggregates_id_seq CREATE SEQUENCE public.person_ban_id_seq CREATE SEQUENCE public.person_block_id_seq CREATE SEQUENCE public.person_follower_id_seq CREATE SEQUENCE public.person_id_seq CREATE SEQUENCE public.person_mention_id_seq CREATE SEQUENCE public.person_post_aggregates_id_seq CREATE SEQUENCE public.post_aggregates_id_seq CREATE SEQUENCE public.post_id_seq CREATE SEQUENCE public.post_like_id_seq CREATE SEQUENCE public.post_read_id_seq CREATE SEQUENCE public.post_report_id_seq CREATE SEQUENCE public.post_saved_id_seq CREATE SEQUENCE public.private_message_id_seq CREATE SEQUENCE public.private_message_report_id_seq CREATE SEQUENCE public.received_activity_id_seq CREATE SEQUENCE public.registration_application_id_seq CREATE SEQUENCE public.secret_id_seq CREATE SEQUENCE public.sent_activity_id_seq CREATE SEQUENCE public.site_aggregates_id_seq CREATE SEQUENCE public.site_id_seq CREATE SEQUENCE public.site_language_id_seq CREATE SEQUENCE public.tagline_id_seq CREATE SEQUENCE utils.deps_saved_ddl_id_seq