Earlier quoted context omitted.
> But it's a lot less prone to data races What's the reasoning for that statement? My other comments have detailed cases of data races, caused by using thin events, solved by using fat events, so I'm going to push back on that: In my experience, the idea that thin events are "less prone to data races" has not been true at all, and that data race is inherent in the model of "receive an event, go back and get more data…
Data races can occur with fat events because fat events don't usually store a snapshot of the entire world. They're often actually delta events, forcing the consumer to rely on caching (a racey affair) or just fall back to hitting the API anyway. If you're having issues with thin events causing data inconsistency then the answer should be better data representation in your core API. If you had to solve it by cramming…
I think you're saying "I don't like fat events because they're not really fat events", well, sorry that's your experience, I don't think that's a valid criticism of the actual thing at all, just of your poor experience of it.
> Data races can occur with fat events.. hitting the API anyway.
That happens with thin events as a matter of course, right? You stated that thin events are "lot less prone to data races" and now you're saying that they're the same? Where's the fat-event-specific issue that you alluded to? Citation not provided.
> Having the event consumer pull data is usually a trivial cost difference.
As I have stated twice before, it's a non-trivial _reliability_ difference, and that's the key.