Increased error rates on the Edge API
Incident Report for Flagsmith
Postmortem

Timeline

At around 13.45 today, we deployed a change to resolve a validation issue that had been introduced in a release earlier today. This validation issue affected only requests which provided a numeric value for the identity identifier.

The new validation which was added, however, caused an issue for certain integrations since it also added a requirement for the traits key to be provided (and not omitted) which is not the case in some of our clients (the Go client for example omits the traits key if the list is empty). This meant that valid requests from these clients for identities with no traits were being incorrectly rejected as invalid.

Once we received alerts for this from our monitoring and some of our affected customers we began investigating. At 14:54 we deployed a change which resolved the validation issue for certain cases, however not all. As such, at 15:06 we made the decision to roll back the affected regions, and at 15:48 we deployed a permanent fix for this including additional test cases to cover this behaviour.

Impact

Since the requests that were affected by this issue were those that had no traits, the impact was fairly limited and no trait data has been lost. Some identities will not have been created during this period, however, due to the nature of the Flagsmith integration, subsequent calls to identify those users will create them.

Next Steps

We have been working hard already on improving our release process for the Edge API. The first step of this, which is due to be released next week, is to improve our automated releases to rollback based on a number of additional alerting factors, including more granular looks at our error rates. This will ensure that, in future, a small subset of errors like this will trigger an immediate automated rollback.

The next step after this is to create a more comprehensive end to end testing suite which exercises each of our SDKs to verify that the integrations are all compatible with any new changes.

Posted Jan 18, 2024 - 17:34 UTC

Resolved
This incident has been resolved.
Posted Jan 18, 2024 - 15:50 UTC
Update
We are deploying the permanent fix now.
Posted Jan 18, 2024 - 15:43 UTC
Update
We are continuing to work on a fix for this issue.
Posted Jan 18, 2024 - 15:36 UTC
Update
We have rolled back in certain affected regions and have completed the work for the permanent fix. This is in the final stages of testing now and will be rolled out imminently.
Posted Jan 18, 2024 - 15:34 UTC
Identified
We have identified the remaining issue and are implementing a fix. ETA for full resolution: 15 minutes.
Posted Jan 18, 2024 - 15:15 UTC
Update
We are continuing to investigate this issue.
Posted Jan 18, 2024 - 15:06 UTC
Investigating
Issues are still persisting for integrations using the Go client. We are investigating further.
Posted Jan 18, 2024 - 15:06 UTC
Monitoring
A fix has been implemented and we are monitoring the results.
Posted Jan 18, 2024 - 14:52 UTC
Identified
The issue has been identified and a fix is being implemented.
Posted Jan 18, 2024 - 14:44 UTC
Investigating
We are currently investigating this issue.
Posted Jan 18, 2024 - 14:40 UTC
This incident affected: Edge API.