News for hackers. Stuff that matters.
Re:Bluesky April 2026 Outage Post-Mortem by threecheese on Friday April 10, 2026 @12:08PM (#47720225)
> What I had missed is that we deployed a new internal service last week that sent less than three GetPostRecord requests per second, but it did sometimes send batches of 15-20 thousand URIs at a time. Typically, we'd probably be doing between 1-50 post lookups per request.

That’ll do it.

Re:Bluesky April 2026 Outage Post-Mortem by bombcar on Friday April 10, 2026 @12:31PM (#47720542)
Zero, one, many, many thousands.
Re:Bluesky April 2026 Outage Post-Mortem by 98codes on Friday April 10, 2026 @12:45PM (#47720714)
Ahh, the three relevant numbers in development: 0, 1, and infinity.
Re:Bluesky April 2026 Outage Post-Mortem by htx80nerd on Friday April 10, 2026 @02:28PM (#47721876)
less than ideal if I had to be frank.
Re:Bluesky April 2026 Outage Post-Mortem by jandrese on Friday April 10, 2026 @02:58PM (#47722191)
The incredible part about this is because their backend is all TCP/IP they were literally exhausting the ports by leaving all 65k of them in TIME_WAIT, and the workaround was to start randomizing the localhost address to give them another trillion ports or so.
Re:Bluesky April 2026 Outage Post-Mortem by Night_Thastus on Friday April 10, 2026 @06:16PM (#47724347)
I mean, it's one GetPostRecord, Michael. What could it cost? 1 trillion ports?
Re:Bluesky April 2026 Outage Post-Mortem by kyledrake on Friday April 10, 2026 @06:33PM (#47724544)
This is a pretty interesting solution. I could see how this could useful for certain kinds of problems (as part of a ddos attack mitigation for example).
Re:Bluesky April 2026 Outage Post-Mortem by verdverm on Friday April 10, 2026 @07:06PM (#47724926)
Re:Bluesky April 2026 Outage Post-Mortem by LoganDark on Friday April 10, 2026 @03:03PM (#47722265)
And then they fix the issue by using multiple localhost IPs rather than, perhaps, not sending 15-20 thousand URIs at a time
Re:Bluesky April 2026 Outage Post-Mortem by odo1242 on Friday April 10, 2026 @03:17PM (#47722427)
They mentioned it was a temporary fix that they removed after finding and fixing the true root cause, though.
[dead]
Re:Bluesky April 2026 Outage Post-Mortem by lavela on Friday April 10, 2026 @01:14PM (#47721073)
Why?
Re:Bluesky April 2026 Outage Post-Mortem by goekjclo on Friday April 10, 2026 @01:33PM (#47721282)
> The timing of these log spikes lined up with drops in user-facing traffic, which makes sense. Our data plane heavily uses memcached to keep load off our main Scylla database, and if we're exhausting ports, that's a huge problem.

I expect this is common.

Re:Bluesky April 2026 Outage Post-Mortem by jmclnx on Friday April 10, 2026 @01:38PM (#47721338)
Lite Blue on a dark Blue background. That is a new one, I have seen grey text on lite grey, but blue on blue ?

The article does work in lynx, at least I can read it.

Re:Bluesky April 2026 Outage Post-Mortem by rvz on Friday April 10, 2026 @01:45PM (#47721408)
Thank you for the post mortem on this outage.
Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Friday April 10, 2026 @02:00PM (#47721599)
nostr never goes down
Re:Bluesky April 2026 Outage Post-Mortem by jandrese on Friday April 10, 2026 @02:50PM (#47722113)
If nostr went down would people even notice?
Re:Bluesky April 2026 Outage Post-Mortem by nout on Friday April 10, 2026 @03:27PM (#47722559)
If any major nostr relay goes down, no one notices. That has happened many times, the network is very resilient to that.
Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Friday April 10, 2026 @02:53PM (#47722139)
probably not
Re:Bluesky April 2026 Outage Post-Mortem by yangm97 on Saturday April 11, 2026 @03:08PM (#47733162)
The good thing about nostr is that, contrary to popular federated protocols, your identity is not tied to any single server, you own the keypair to your account, so you can continue using it just fine even if some relays experience a downtime.
Re:Bluesky April 2026 Outage Post-Mortem by ramblejam on Monday April 13, 2026 @12:19PM (#47754327)
until one day when a quantum computer comes along, then goodbye your control of your nostr identity in both the future and the past!
Re:Bluesky April 2026 Outage Post-Mortem by pfraze on Friday April 10, 2026 @02:02PM (#47721625)
All support to other decentralizers but nothing never goes down.
Re:Bluesky April 2026 Outage Post-Mortem by nout on Friday April 10, 2026 @03:25PM (#47722536)
The comparison here is to something like TCP/IP. TCP/IP never goes down. TCP/IP is a protocol, the servers may go down and cause disruption, but the protocol doesn't really have the ability to "go down". Nostr is also a protocol. The communication on top of Nostr is pretty resilient compared to other solutions though, so that's the main highlight here.

If tens of servers go down, then some people may start noticing a bit of inconvenience. If hundreds of servers go down, then some people may need to coordinate out of bound on what relays to use, but it still generally speaking works ok.

Re:Bluesky April 2026 Outage Post-Mortem by arter45 on Saturday April 11, 2026 @07:19AM (#47729601)
That's because TCP/IP is a protocol, not a (centralized or decentralized) server. A protocol cannot go down. It can trigger failures, it can be abused, but it cannot go down.

It's like saying "English never burns". Sure, you can't burn English but you can burn specific books, newspapers and so on.

Re:Bluesky April 2026 Outage Post-Mortem by nout on Sunday April 12, 2026 @12:23PM (#47741511)
That's... literally the point I just made in my reply?
Re:Bluesky April 2026 Outage Post-Mortem by ramblejam on Wednesday April 15, 2026 @05:21AM (#47776648)
Right but that's kind of meaningless, saying the nostr protocol never goes down, because the AT Protocol didn't go down in this bluesky case either. Protocols don't "go down". Stuff making use of protocols does.
Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Friday April 10, 2026 @02:26PM (#47721863)
1000x redundancy makes it vanishingly unlikely. Although I know we're due for a pole shift so all bets are off I suppose.
Re:Bluesky April 2026 Outage Post-Mortem by numpad0 on Friday April 10, 2026 @03:56PM (#47722899)
Wasn't aware there are ~2k relays now. Have inter-relay sharing situation improved?

When I tried it long time ago, the idea was just a transposed Mastodon model that the client would just multi-post to dozen different servers(relays) automatically to be hopeful that the post would be available in at least one shared relays between the user and their followers. That didn't seem to scale well.

Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Friday April 10, 2026 @04:31PM (#47723309)
Getting clients to do the right thing is like herding cats, but there has been some progress. Early 2023 Mike Dilger came up with the "gossip model" (renamed "outbox model" for obvious reasons). Here's my write-up: https://habla.news/hodlbod/8YjqXm4SKY-TauwjOfLXS

The basic idea is that for microblogging use cases users advertise which relays their content is stored on, which clients follow (this implies that there are less-decentralized indexes that hold these pointers, but it does help distribute content to aligned relays instead of blast content everywhere).

Also, relays aside, one key difference vs ActivityPub is that no third party owns your identity, which means you can move from one relay to another freely, which is not true on Mastodon.

Re:Bluesky April 2026 Outage Post-Mortem by numpad0 on Sunday April 12, 2026 @10:00AM (#47739761)
Thanks! Not to be critical - more like thinking out loud - and don't have solutions to following myself - but that sounds like it could 1) affect negatively to power concentrating into the top popular relays -> potentially leading to same kind of speech issues as semi-centralized ActivityPub, and 2) it won't solve need to maintain multiple firehose connections.

I've been wondering if the multi-firehose architecture is really where decentralized censorship resistant microblogging should be the way forward; I remember the Windows Mobile clients for 2ch.net(today 5ch.io) that would scrape thread deltas from bunch of subdomains under it was plenty fast on 128k(advertised) connection to get thousands of posts in late 2000s, and so I think an RSS style of systems getting delta updates from multiple domains could work without having to do the insanity of early Nostr, or massive liabilities for instance operators with Mastodon, especially if those multiple domains could be set up with relative ease.

Yeah, I don't exactly understand why you have to sign up every time to Mastodon servers and server operators to have to be responsible about users. It worked when it was urgently needed, which was brilliant, but the ID system had under baked spots.

Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Monday April 13, 2026 @11:13PM (#47760803)
Yeah, any time you need either an index or a caching layer you have to re-centralize one way or another. But decoupling those "services" from the data storage itself helps, and credible exit makes the gatekeepers far less powerful. An example: a few weeks ago nostr.band, one of nostr's main indexers/search services went away. Search is still somewhat impacted (evidence that we were centralized around it), but indexing (i.e. finding users' relay lists) is still covered by several other services.
Re:Bluesky April 2026 Outage Post-Mortem by chr15m on Saturday April 11, 2026 @01:15AM (#47727626)
A difference with Mastodon is your account is independent of any relay.

> scale well

It is up and it is growing.

Re:Bluesky April 2026 Outage Post-Mortem by bit1993 on Friday April 10, 2026 @07:55PM (#47725481)
Bitcoin, BitTorrent never go down.
Re:Bluesky April 2026 Outage Post-Mortem by emidoots on Friday April 10, 2026 @06:07PM (#47724232)
There's stark contrast for an average human visiting the landing page of bsky.app vs nostr.org
Re:Bluesky April 2026 Outage Post-Mortem by jonstaab on Saturday April 11, 2026 @07:07AM (#47729525)
That's what decentralization looks like. You might also try:

nostr.com nostr.how nostr.net nostrich.love nostrhub.io usenostr.org And of course https://github.com/nostr-protocol/nostr

Re:Bluesky April 2026 Outage Post-Mortem by electrondood on Friday April 10, 2026 @02:21PM (#47721814)
Great write up... curious about the RCA. Thanks!
Re:Bluesky April 2026 Outage Post-Mortem by tapoxi on Friday April 10, 2026 @02:38PM (#47721994)
I don't really understand this architecture, but I thought Bluesky was distributed like Mastodon? How can it have an outage?
Re:Bluesky April 2026 Outage Post-Mortem by pfraze on Friday April 10, 2026 @02:42PM (#47722028)
This writeup is useful for backend engineers: https://atproto.com/articles/atproto-for-distsys-engineers

The simple answer is that atproto works like the web & search engines, where the apps aggregate from the distributed accounts. So the proper analogy here would be like yahoo going down in 1999.

Re:Bluesky April 2026 Outage Post-Mortem by tapoxi on Friday April 10, 2026 @02:56PM (#47722169)
This is a fantastic write-up, thanks for sharing!
Re:Bluesky April 2026 Outage Post-Mortem by isodev on Friday April 10, 2026 @02:48PM (#47722087)
Google and MSN Search were already available at this time. Also websites used to publish webrings and there was IRC and forums to ask people about things.
Re:Bluesky April 2026 Outage Post-Mortem by fiatjaf on Friday April 10, 2026 @05:17PM (#47723763)
Sorry, but this analogy is very misleading, no one browses websites through Google's servers.

For example, right now in my URL bar I read "news.ycombinator.com", not "google.com/profile/news.ycombinator.com".

If Google goes down now I can keep browsing this website and all the other websites I have in all my other tabs as if nothing had happened.

Re:Bluesky April 2026 Outage Post-Mortem by danabramov on Friday April 10, 2026 @05:57PM (#47724123)
Does Google Reader help you make sense of it? It’s more like each app is like its own Google Reader. And indeed you were able to access the same posts via other apps at that time of outage.
Re:Bluesky April 2026 Outage Post-Mortem by pfraze on Friday April 10, 2026 @06:06PM (#47724217)
Technically you can still view the posts directly from the PDS. It’s just uninteresting compared to web pages
Re:Bluesky April 2026 Outage Post-Mortem by evbogue on Friday April 10, 2026 @06:06PM (#47724216)
Do you have ideas about how Bluesky could decentralize?
Re:Bluesky April 2026 Outage Post-Mortem by wmf on Friday April 10, 2026 @06:12PM (#47724308)
Not the original poster but I do have some ideas. Official Bluesky clients could randomly/round-robin access 3-4 different appview servers run by different organizations instead of one centralized server. Likewise there could be 3-4 relays instead of one. Upgrades could roll across the servers so they don't all get hit by bugs immediately.
Re:Bluesky April 2026 Outage Post-Mortem by evbogue on Friday April 10, 2026 @06:18PM (#47724370)
If multiple personal data servers (pdses) share the same set of posts how would we guarantee that they are tamper resistant to third parties?
Re:Bluesky April 2026 Outage Post-Mortem by wmf on Friday April 10, 2026 @06:28PM (#47724471)
PDSes should be sharded not replicated. Your posts live on your PDS which lives in one place (although it can move).
Re:Bluesky April 2026 Outage Post-Mortem by evbogue on Friday April 10, 2026 @06:31PM (#47724515)
What's stopping us from doing both?
Re:Bluesky April 2026 Outage Post-Mortem by wmf on Friday April 10, 2026 @06:42PM (#47724646)
Cost and complexity tradeoffs. IMO the relay/appview is the current bottleneck.
Re:Bluesky April 2026 Outage Post-Mortem by evbogue on Friday April 10, 2026 @06:51PM (#47724741)
This is why I'm hoping fiatjaf has a recommendation here. I have a feeling he might have a proposal that solves this. But doesn't solve all of it, just some of it.
Re:Bluesky April 2026 Outage Post-Mortem by _heimdall on Friday April 10, 2026 @10:31PM (#47726717)
> no one browses websites through Google's servers.

Didn't Google's AMP project do exactly that?

Re:Bluesky April 2026 Outage Post-Mortem by isodev on Friday April 10, 2026 @02:44PM (#47722039)
It’s more of a concept of a plan for being distributed. I even went through the trouble of hosting my own PDC and still, I was unable to use the service during the outage
Re:Bluesky April 2026 Outage Post-Mortem by direwolf20 on Friday April 10, 2026 @04:09PM (#47723048)
It's not really distributed. It's a centralised service that pulls some parts of 0.01% of user profiles from their own servers.
Re:Bluesky April 2026 Outage Post-Mortem by Retr0id on Friday April 10, 2026 @02:42PM (#47722024)
Mastodon infra can have outages, too.
Re:Bluesky April 2026 Outage Post-Mortem by tapoxi on Friday April 10, 2026 @02:49PM (#47722101)
It's just confined to one instance if it goes down, not all of Mastodon.
Re:Bluesky April 2026 Outage Post-Mortem by LoganDark on Friday April 10, 2026 @03:04PM (#47722276)
A web interface and home server can have an outage. Bluesky is just a web interface and home server.
Re:Bluesky April 2026 Outage Post-Mortem by chr15m on Saturday April 11, 2026 @01:11AM (#47727612)
"decentralized"
Re:Bluesky April 2026 Outage Post-Mortem by gsibble on Friday April 10, 2026 @02:43PM (#47722035)
Did all 3 users notice?
Re:Bluesky April 2026 Outage Post-Mortem by ffsm8 on Friday April 10, 2026 @03:07PM (#47722311)
Naw, only one did. Turns out the other two were his socket accounts he used to upvote and comment on his own content.

Okay, nuff trolling for today

Re:Bluesky April 2026 Outage Post-Mortem by mwkaufma on Friday April 10, 2026 @02:48PM (#47722089)
Tell us more about this buggy "new internal service" that's scraping batch data :P
Re:Bluesky April 2026 Outage Post-Mortem by drewg123 on Friday April 10, 2026 @03:02PM (#47722246)
Golang's use of a potentially unbounded number of threads is just insane. I used to be fairly bullish on golang, but this, combined with the fact that its garbage collected, makes me feel its just unsuitable for production use.
Re:Bluesky April 2026 Outage Post-Mortem by floating-io on Friday April 10, 2026 @03:38PM (#47722684)
You can have this problem with any kind of thread -- including OS threads -- if you do an unbounded spawn loop. Go is hardly unique in this.

Goroutines are actually better AFAIK because they distribute work on a thread pool that can be much smaller than the number of active goroutines.

If my quick skim created a correct understanding, then the problem here looks more like architecture. Put simply: does the memcached client really require a new TCP connection for every lookup? I would think you would pool those connections just like you would a typical database and keep them around for approximately forever. Then they wouldn't have spammed memcache with so many connections in the first place...

(edit: ah, it looks like they do use a pool, but perhaps the pool does not have a bounded upper size, which is its own kind of fail.)

Re:Bluesky April 2026 Outage Post-Mortem by slopinthebag on Friday April 10, 2026 @04:17PM (#47723157)
Rust's async doesn't have this issue. Or at least, it's the same issue as malloc in an unbounded loop, but that's a more general issue not related to async or threading.

15-20 thousand futures would be trivial. 15-20 thousand goroutines, definitely not.

Re:Bluesky April 2026 Outage Post-Mortem by floating-io on Friday April 10, 2026 @05:30PM (#47723888)
I don't know enough about rust to confirm or deny that -- but unless rust somehow puts a limit on in-flight async operations, I don't see how it would help.

The problem is not resource usage in go. The problem is that they created umpteen thousand TCP connections, which is going to kill things regardless of the language.

Re:Bluesky April 2026 Outage Post-Mortem by verdverm on Friday April 10, 2026 @07:15PM (#47725022)
case in point, an old HN post about scaling Go to 1M websocket connections

https://news.ycombinator.com/item?id=21865715

Re:Bluesky April 2026 Outage Post-Mortem by slopinthebag on Saturday April 11, 2026 @01:14AM (#47727621)
Go can scale but only if you sidestep goroutines and use something like https://github.com/lesismal/nbio (which is awesome, highly endorse)
Re:Bluesky April 2026 Outage Post-Mortem by tombert on Friday April 10, 2026 @03:33PM (#47722638)
Why does garbage collection make it unsuitable for production use? A lot of production software is written in garbage collected languages like Java. Pretty much the entire backend for iTunes/Apple Music is written in Java, and it's not doing any kind of fancy bump allocator tricks to avoid garbage. In my mind, kind of hard to argue that Apple Music is not "production use".

There are certainly plenty of projects where garbage collection is too slow, but I don't know that they're the majority, and more people would likely prefer memory safety by default.

Re:Bluesky April 2026 Outage Post-Mortem by slopinthebag on Friday April 10, 2026 @04:20PM (#47723191)
Everything is understood by comparison. Unsuitable for production use, compared to what is the more apt question.
Re:Bluesky April 2026 Outage Post-Mortem by madeofpalk on Friday April 10, 2026 @06:11PM (#47724283)
Based on my experience of Apple Music being pretty bad at streaming music, i would say that it's not ready for 'production use'.
Re:Bluesky April 2026 Outage Post-Mortem by tombert on Friday April 10, 2026 @09:02PM (#47726055)
Ok, judging by this job posting [1] it looks like Spotify uses Java as well.

[1] https://www.lifeatspotify.com/jobs/senior-backend-engineer-a...

Re:Bluesky April 2026 Outage Post-Mortem by pembrook on Friday April 10, 2026 @03:12PM (#47722362)
Distributed social media goes down? hrmmm.

Email and the internet don't have "downtime." Certain key infra providers do of course. ISPs can go down. DNS providers can go down. But the internet and email itself can't go down absent a global electricity outage.

You haven't built a decentralized network until you reach that standard imo. Otherwise its just "distributed protocol" cosplay. Nice costume. Kind of like how everybody has been amnesia'd into thinking Obsidian is open source when it really isn't.

Re:Bluesky April 2026 Outage Post-Mortem by iAMkenough on Friday April 10, 2026 @03:14PM (#47722387)
Bluesky is a provider. Blacksky didn’t go down.
Re:Bluesky April 2026 Outage Post-Mortem by pembrook on Friday April 10, 2026 @03:24PM (#47722512)
Is there anything running on Blacksky other than Bluesky with more than say, 100 active users?

AOL never even got to that level of dominance in the internet 1.0 era.

The point is it's not a distributed network if one node is 99.9% of all traffic.

Re:Bluesky April 2026 Outage Post-Mortem by opem on Friday April 10, 2026 @04:36PM (#47723374)
At least they aren't hiding and transparent about it unlike the big tech corps with so called SLAs
Re:Bluesky April 2026 Outage Post-Mortem by tmpz22 on Friday April 10, 2026 @06:08PM (#47724245)
There are no outages in Azure sing se.
Re:Bluesky April 2026 Outage Post-Mortem by _heimdall on Friday April 10, 2026 @10:29PM (#47726699)
GitHub's Ops team would approve this message, I assume.
Re:Bluesky April 2026 Outage Post-Mortem by thedrexster on Sunday April 12, 2026 @08:20PM (#47746030)
i see you, brother! <3
Re:Bluesky April 2026 Outage Post-Mortem by streetfighter64 on Friday April 10, 2026 @04:50PM (#47723502)
> They represent real user-facing downtime

Off-topic, but "real" feels like the new "delve". Is there such a thing as "fake" or "virtual" downtime, or why do people feel the need to specify that all manner of things are "real" nowadays?

Re:Bluesky April 2026 Outage Post-Mortem by mwagstaff on Friday April 10, 2026 @06:53PM (#47724760)
With my SRE hat on, dare I ask... could/should this have been picked up in testing?

And then normally there's a nice discussion about how production is very different to the test environment.

Re:Bluesky April 2026 Outage Post-Mortem by heliumtera on Friday April 10, 2026 @07:27PM (#47725144)
Good to know the discussion about decentralization and federation had finally ended