Exactly.
Race conditions are a frustrating reality of programming (and Bubble is programming) but I think @florianherzog is right to point out the lack of documentation around this issue:
I do know that the Bubble manual has this section:
This is fantastic, however, unless you’re thoroughly reading through the “database maintenance” section (which is closer to a tutorial format than a reference format) you’re going to miss it.
Many people will be looking for information in the reference section, here:
This section does mention the issue, but it’s not super clear and it’s buried under the ‘Interval’ section:
Workflows still run in parallel: Keep in mind that adding an interval does not guarantee that the workflows will not overlap – if you need to force API workflows to run sequentially, you can consider using recursive workflows.
I think there should be a top-level paragraph saying something like:
If the workflow this schedules makes changes to the same field on the same thing, data is likely to be lost due to race conditions. To learn more, see [Bulk operation methods compared | Bubble Docs]
If you’re already writing plugins then building a Cloudflare Queue to handle concurrency will be a cake walk. It’ll cost you only pennies too.
Bubble is not and will not be a one size fits all solution. You’re going to rely on other tech for critical features. The good thing is that linking these things together is relatively easy with Bubble.
