Gremlin and GCP Firestore

Test how your application handles a Firestore outage. Run Gremlin network experiments and reliability tests to validate write queuing and fallbacks.

Why Firestore reliability is important

The client SDKs for Firestore cache locally and queue writes when connectivity is interrupted. That's a genuinely good design, and it means backend failures produce behavior on the client that server-side thinking doesn't predict.

Writes made during a disruption succeed locally and sync later. If two clients modified the same document while disconnected, the resolution happens on reconnect according to rules your application may never have specified. Users see their change accepted, then overwritten. Real-time listeners that stop firing leave a UI that silently stops updating rather than showing an error.

Gremlin lets you test from the side where it actually surfaces. A blackhole experiment against the Firestore endpoint disconnects a client so you can watch what queues, what syncs, and what gets lost. A latency experiment slows the connection enough to expose the gap between a write being accepted and a write being durable.

The question worth answering isn't whether your writes are safe. It's whether your users can tell the difference between synced and pending.

Building resilience on Firestore with Gremlin

Firestore is a dependency: a managed service that your service connects to. You can run tests by deploying the Gremlin agent or Failure Flags sidecar to a service that consumes Firestore*. Using the experiments shown to the right, you can prepare your service for Firestore failure modes, including:

  • Network outages making Firestore unavailable
  • Slow performance due to network latency
  • Expiring TLS certificates
You can also run these expert-built workflows designed to replicate real-world failure modes on Firestore:

* Testing a dependency doesn't require installing anything on it. Gremlin runs the experiment from the service that calls it, so compatibility depends on that host rather than on the dependency itself. Check our compatibility documentation for supported operating systems and platforms, or get in touch if you don't see yours.

resources

Learn more about Gremlin and Firestore

All product names, logos, and brands are property of their respective owners. AWS is a trademark of Amazon.com, Inc.; Azure is a trademark of Microsoft Corporation; Google Cloud is a trademark of Google LLC. Use of these names is for identification purposes only and does not imply endorsement or affiliation unless otherwise stated.

Avoid downtime. Use Gremlin to turn failure into resilience.

Gremlin empowers you to proactively root out failure before it causes downtime. See how you can harness chaos to build resilient systems by requesting a demo of Gremlin.

Product Hero ImageShape