Elevated Intermittent 409 Responses on API Finalize Calls
Incident Report for Percy
Resolved
We believe we have identified the root cause of this issue affecting less than 0.1% of Percy builds.

Percy groups snapshots from parallel CI runners into a single Percy build. However, when a job is retried in CI by manually clicking Retry (or automatically in some cases), the number of parallel nodes that Percy receives API calls from is more than is expected, which causes 409s to be sent by design. We have a fix and documentation coming soon to better support these complex parallelization cases.

We no longer consider this an outage and plan to followup with affected customers in support. As always, if you experienced this and haven't talked to us in our support chat, please do!
Posted Sep 27, 2018 - 13:45 PDT
Update
We are continuing to investigate this issue. We have identified that this issue is affecting <0.1% of Percy builds, and those that are affected are often from heavily parallel CI environments. If you are experiencing this issue, please reach out to us in chat.
Posted Sep 27, 2018 - 10:54 PDT
Investigating
We are continuing to investigate this issue, which is affecting some customers with high CI parallelism.

If you are affected by this issue and haven't reached out to our support chat, please do as it would help us to gather information related to your CI configuration.
Posted Sep 26, 2018 - 18:33 PDT
Identified
The issue has been identified and a fix is being implemented.
Posted Sep 26, 2018 - 11:03 PDT
Investigating
We are investigating reports of elevated 409 HTTP responses when posting finalize calls to our API.

The error message surfaces like this:

(POST https://percy.io/api/v1/builds/XXX/finalize): (Percy::Client::ConflictError)
{"errors":[{"status":"conflict","detail":"Can only finalize pending builds"}]}
Posted Sep 26, 2018 - 11:02 PDT
This incident affected: API.