Incident Library
Applied filters OrganisationRazorpayClear allEvery case under the filters, with no sentence; newest first.
Suggested filters Search, and the values found in your words appear here.

Graph

  • Root cause
  • Component
  • Symptom
  • Contributing factor
  • Case

Cases1 case

1 to 1 of 1

  1. Symptoms

    On a Friday evening in December 2019, Razorpay's internal monitoring alerted on an unusually high number of 5xx errors. The SRE team found that the main application, called API, could not connect to its RDS MySQL database, but within about 110 seconds the application recovered by itself and the alerts stopped. The RDS logs showed that the master instance had gone through a Multi-AZ failover.

    Trigger

    The master instance of the API application's RDS MySQL database went through a Multi-AZ failover to its standby in another availability zone.

    Root cause
    Component
    Contributing factor
    –
    Detection

    An internal monitoring alert on unusually high 5xx errors, then alerts that replication had failed on all replicas. The data loss was found the next day by matching the database against the application trace logs.

    Remediation
    • Moved all read replica traffic to the master instance
    • Recreated all five read replicas after a six-hour full snapshot and moved traffic back to them
    • Recovered the missing queries from the binary logs and corrected the data stored in RDS
    • Changed innodb_flush_log_at_trx_commit on the master from 2 to 1
    Lessons

    With innodb_flush_log_at_trx_commit set to 2, Razorpay had been open to data loss on any failover all along, even though RDS Multi-AZ copies everything on the primary's disk to the standby. The incident also taught the team how RDS runs a Multi-AZ setup and its failovers.

Check your cluster for this

This case involves Database and Database backups and snapshots. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.

By root cause1