| ▲ | levkk 4 hours ago | |
It can be silent, but usually it's loud and confusing because people do something like this (Rails example):
And the job code fetches the row like so:
This blows up because `find` throws an error if the record isn't there. Job queues typically use replicas for reads. This is a common gotcha: code that runs async expects the data to be there after creation.There can be others, of course, especially in fintech where you have an atomic ledger, but people are usually pretty conscious about this and send those type of queries to the primary. In general though, I completely agree, this is leaky and an unsolved problem. You can have performance or accuracy, but not both, and most solutions skew towards performance and make applications handle the lack of accuracy. | ||
| ▲ | jackfischer 4 hours ago | parent [-] | |
Makes sense, appreciate it | ||