Forum Discussion

1 Reply

  • Bonfire-Champ's avatar
    Bonfire-Champ
    Active Member II

    A "race condition" is a concept in software engineering where some outcome is dependent on the sequence or timing of some other event(s). So, say the desired sequence of events is "Event A" then "Event B"--in other words if A comes before B we get the desired outcome; if B comes before A we don't get the desired outcome. We call it a race condition when B sometimes comes before A, and A sometimes comes before B (in other words, B sometimes wins the race, and A sometimes wins the race).

    In the Braze platform, one of the most common race conditions can occur with Campaigns that target newly created users. In this case the expected order of events is, (1) user gets created, then (2) Campaign sends to user (this can be accomplished with a Campaign that triggers off some "create_account"-esque custom event). However in some cases event 2 occurs first, meaning we tried to send the Campaign to a user before that user had been created, thus the user never receives the Campaign.