Urgent.News

What's breaking now, across thousands of outlets.

Tech

How Cursor beat Git's scalability shortcomings

S3 keeps the source of truth while local NVMe repositories do the latency-sensitive work

How Cursor beat Git's scalability shortcomings

Developers who have experienced GitHub's system outages may find relief in alternative solutions for managing Git at scale. Cursor, a SpaceX subsidiary, has developed an approach by building its Git-based repository service, Origin, on object storage. Cursor principal systems engineer Vicent Martí explains how the team tackled the scaling issues of Git, a notoriously complex distributed version control system.

The article highlights the challenges posed by developers creating numerous small repositories and the difficulties Git faces with "eventual consistency." Cursor's solution involves object storage, specifically Amazon Web Services' Simple Storage Service (S3), as a foundational layer for enterprise software. Origin uses a write-ahead log (WAL) to capture all changes as immutable objects in S3, while simultaneously writing to a local NVMe disk reference copy.

This approach enables faster ingest of pushes and allows other replicas to download changes as needed.

While Git still requires DAG traversal for many operations, it is now better to perform these tasks locally on a solid-state drive rather than over a network. Cursor's Origin service can ingest pushes as fast as the disk allows, with the source of truth always being the write-ahead log.

Written by urgent.news from The Register's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

This story

This is one outlet's version. Read the fullest account.

Read the original at theregister.com →

More in Tech

Mourning Steve French

From Jeremy Allison we have the sad news of the passing of Steve French. He was the maintainer of the kernel's SMB filesystem code for many years, having only dropped that role due to health issues in…

Sunday's stable kernel set

The 7.1.10 , 6.18.46 , 6.12.105 , 6.6.153 , 6.1.184 , 5.15.217 , and 5.10.266 stable kernels have all been released; each contains another set of important fixes.

More from Sunday 23 August →