By "corruption" do you mean "whoopsie, I wrote bad data"?
Same way as always - there's some kind of delimiter in the message serialization, and you can "re-sync" by finding that delimiter and hoping to continue reading valid messages. For example, a bad CSV stream can be recovered by finding the next newline and hoping you read correct CSV again.
The problem is just moved to the client library which is layering a notion of messages atop journals, and is not a direct broker concern.
Yep, thanks. Reading more about it, the "immutability" of the append log seems like a convention rather than something that is enforced programmatically (i.e. you can always write over the persisted fragments since they're objects in blob storage), which is what I was concerned about.
Same way as always - there's some kind of delimiter in the message serialization, and you can "re-sync" by finding that delimiter and hoping to continue reading valid messages. For example, a bad CSV stream can be recovered by finding the next newline and hoping you read correct CSV again.
The problem is just moved to the client library which is layering a notion of messages atop journals, and is not a direct broker concern.