GitHub's new Git storage architecture

86 pointsposted 8 hours ago
by DAlperin

15 Comments

yakkomajuri

3 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.

rockwotj

2 hours ago

personally I see more issues with actions over pushing

pksunkara

2 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.

mitxela

5 minutes ago

You could also just ban people who spam you and consume immense amounts of server time. Or make them pay for the server time.

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.

mococa

3 hours ago

So we can have one more 9?

cr125rider

2 hours ago

It will be nice having maybe a few at the beginning of the number!

crote

an hour 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.

clivedup

an hour 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.

mitxela

4 minutes ago

Welcome to the new AI future, where everyone is insane and reality doesn't matter.

I'm starting to think AI isn't a productivity machine, but rather a machine for hypnotising people into the false belief of productivity.

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?