Skip to content
0
  • Home
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
  • Home
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse

Wandering Adventure Party

  1. Home
  2. ActivityPub
  3. Fun with Federation: Lemmy edition

Fun with Federation: Lemmy edition

Scheduled Pinned Locked Moved ActivityPub
nodebblemmyactivitypub
7 Posts 4 Posters 9 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • julianJ This user is from outside of this forum
    julianJ This user is from outside of this forum
    julian
    wrote last edited by julian@community.nodebb.org
    #1

    It all started with a report about federation breaking between Lemmy and NodeBB. I was subconsciously aware that something was going on, but had chalked it up to network issues.

    Observed behaviour showed that some remote categories would be receiving content in spurts, with long gaps in between.

    I spent the next 3-4 days looking into it, but came up empty. Whatever was happening wasn't throwing any obvious errors, and along the way, I found what I thought was related (it was), but I wasn't sure why: against some Lemmy servers, the "follow"/"unfollow" mechanic would simply stop working, and this would often coincide with gaps in content. In some egregious cases, the flow of content stopped completely!

    Unable to make headway, I had to reach out to the folks at Lemmy to figure out what the issue was. NodeBB occasionally sends non-200 level responses depending on the activity. Specifically, the following scenarios:

    • A remote user upvoting more than 20 posts in a single day (a spam prevention tactic) causing NodeBB to throw an error, which was caught and returned an HTTP 500 Internal Server Error.
    • A Dislike activity, which is not currently handled by NodeBB. In these cases, NodeBB would send an HTTP 501 Not Implemented

    When encountering either of these responses, Lemmy would return the activity back to the queue for later delivery and mark a delivery failure. If enough of these (~40) happened within 24 hours, Lemmy would give the instance a time-out and pause delivery completely.

    That was it — a quick pair of code updates later, and we started working through Lemmy's backlog of 4.1M activities.

    As of 4am this morning, community.nodebb.org is no longer behind lemmy.world.

    d2b3dc1c-01f3-4203-b281-2406e949667d-image.png

    Fun week. Let's not do that again LOL.

    v4.4.2 of NodeBB contains the updated logic for smoother Lemmy federation.

    1 Reply Last reply
    1
    15
    • System shared this topic
      System shared this topic
    • KichaeK Online
      KichaeK Online
      Kichae
      Forum Master
      wrote last edited by
      #2

      These little inter-platform quirks are fascinating, and I imagine quite frustrating.

      julianJ 1 Reply Last reply
      2
      • sabrew4k3@lazysoci.alS This user is from outside of this forum
        sabrew4k3@lazysoci.alS This user is from outside of this forum
        sabrew4k3@lazysoci.al
        wrote last edited by
        #3

        This is really cool. Thanks for sharing.

        1 Reply Last reply
        1
        • KichaeK Kichae

          These little inter-platform quirks are fascinating, and I imagine quite frustrating.

          julianJ This user is from outside of this forum
          julianJ This user is from outside of this forum
          julian
          wrote last edited by
          #4

          kichae@wanderingadventure.party I'm still at the point where seeing two-way federation working for real between instances is so exciting that it overrides the pain of federation 😅

          KichaeK 1 Reply Last reply
          6
          • julianJ This user is from outside of this forum
            julianJ This user is from outside of this forum
            julian
            wrote last edited by
            #5

            nutomic@lemmy.ml let me know if I got any of the details wrong. Much thanks to your team for the assist in debugging!

            1 Reply Last reply
            0
            • Blaze (he/him)B This user is from outside of this forum
              Blaze (he/him)B This user is from outside of this forum
              Blaze (he/him)
              wrote last edited by
              #6

              Thank you for sharing!

              1 Reply Last reply
              1
              • julianJ julian

                kichae@wanderingadventure.party I'm still at the point where seeing two-way federation working for real between instances is so exciting that it overrides the pain of federation 😅

                KichaeK Online
                KichaeK Online
                Kichae
                Forum Master
                wrote last edited by
                #7

                @julian@community.nodebb.org Yeah, being able to treat Mastodon and Lemmy/mbin/piefed like a bulletin board continues to feel like magic.

                1 Reply Last reply
                2

                Reply
                • Reply as topic
                Log in to reply
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes


                • Login

                • Login or register to search.
                Powered by NodeBB Contributors
                • First post
                  Last post