GitHub's new Git storage architecture
82 points by DAlperin 9 hours ago | 13 comments

yakkomajuri 4 hours ago
If I'm reading this right, this is (really solid) future planning but won't help with the current outages?

I'd have thought so from the headline + initial content but then they say that the horizontal scale techniques are basically carrying over from the existing architecture (where it seems the problem is?) and this is mostly to help with what they call "vertical scale" (intra-repo scalability). They also admit right after that the most active repos today will receive short bursts of at most dozens of writes.

So this seems like really useful planning for a near future that likely helps prevent more issues but isn't really meant to help current issues. Am I reading this right?

Of course improvements like this are always useful either way. Not dunking here at all.

reply
rockwotj 2 hours ago
personally I see more issues with actions over pushing
reply
pksunkara 3 hours ago
Since they wouldn't need to actually have the inactive repositories on disk anymore, I reckon it should solve the horizontal scale issue too by reducing the compute/disk capacity that needs to be maintained.
reply
pksunkara 3 hours ago
Most of this is similar to what https://enroute.sh already did scaling Git. https://enroute.sh/blog/everyone-is-doing-git-on-s3-wrong
reply
esafak 2 hours ago
Looks cool. Anybody here with experience to share?
reply
cedel2k1 2 hours ago
At this point GitHub should likely just try snatching the Enroute guys :)
reply
rochacon 4 hours ago
So that is why I got a bunch of 500's during push this week :)

Hope it helps improve reliability, it was getting hard to defend GitHub with all the recent outages.

reply
pentagrama 13 minutes ago
[dead]
reply
mococa 3 hours ago
So we can have one more 9?
reply
cr125rider 2 hours ago
It will be nice having maybe a few at the beginning of the number!
reply
UltraSane 2 hours ago
Maybe every other month.
reply
crote 56 minutes ago
Sorry, but thousands of pushes per second, per repository?! In what world could that possibly seem like a sound idea?

Sure, it's nice that you can technically handle it, but to me it sounds like at that point something has gone absolutely horribly wrong in the way you set up your agents. Last time I checked, GitHub was intended as a platform to upstream finished work items, not a realtime cross-agent chat channel.

Handling thousands of git pushes per second implies thousands of issues, thousands of PRs, tens of thousands of comments, thousands of Actions runs, and dozens of releases. How's that part of their infra going to scale?

How about introducing rate limits instead, nudging people to not have agents push every individual single-line changes to GH, but instead have them collaborate as a local cluster and only upstreaming PR-sized chunks of finished work?

If you still need thousands of pushes per second you'd be looking at millions of lines of code, and at that point you're looking at an insane monorepo which is growing at a rate of terabytes per day, and which basically instantly becomes unusable due to being impossible to clone or check out.

reply
clivedup 33 minutes ago
My understanding is that forks on GitHub share the same storage in the GH backend.

It's not unreasonable to imagine thousands of commits per second to the kernel, especially if you consider that bots might be watching LKML and applying patches to various forks.

> Handling thousands of git pushes per second implies thousands of issues, thousands of PRs, tens of thousands of comments, thousands of Actions runs, and dozens of releases. How's that part of their infra going to scale?

For each issue my agent might raise 5 independent PRs as experiments.

Further, the more changes there are, the more important it is that they don't conflict, which means smaller changes, which means even more changes.

Bots interleaving typos, single line whitespace fixes, single dependency bumps, etc.

reply
chjail-11 4 hours ago
As if more developers means better code. Wasn't it Bonhoeffer who said stupidity is when smart people don't question authority?
reply