You know that moment when a code review bottlenecks and your team starts playing approval ping-pong? Gerrit Spanner exists to kill that moment. It bridges Gerrit’s tight code review flow with data persistence and audit logic that actually scales. When set up correctly, it feels invisible, which is exactly the point.
Gerrit handles change management beautifully. Locks, diffs, and patch sets are precise, but its metadata storage gets ugly fast under load. That’s where Spanner earns its name. Spanner provides globally consistent, horizontally scalable databases that keep Gerrit’s project state reliable even across regions. Together they behave like one distributed memory, never confused, never stale.
The integration works through Gerrit’s backend configuration linking review events to a Spanner schema. Each submission triggers writes that keep change history atomic. Identity verification passes through OIDC or SAML, connecting to providers like Okta or Google Identity. Permissions mirror repository rules so RBAC stays intact across clusters. Once configured, the CRUD path between Gerrit and Spanner feels like a single transaction pipeline rather than bolted-on sync code.
A few best practices save headaches later. Map user groups tightly to service accounts in IAM. Rotate secrets on a schedule shorter than your deployment cycle. Use time-based access policies so dormant reviewers lose privileges automatically. And always test schema migrations with synthetic data before touching production replicas.
Here’s the short answer for anyone asking: Gerrit Spanner joins Gerrit’s version control review system with Google Spanner’s distributed SQL layer to give teams consistent, scalable, and auditable project states during high-volume code change review.