> > I kind of agree with James that it is a bit questionable how valuable any > data in a delete marker can be since it will be deleted somewhat > nondeterministically. >
One could argue that even in normal topics, assuming a time-based log retention policy is in place, any message will be deleted somewhat nondeterministally, so why treat the compacted ones any differently? To me at least, the retention setting for delete messages seems to be the counterpart to the time-based retention setting for normal topics. Currently the semantics of the messages are in the eye of the beholder--you > can choose to interpret a stream as either being appends or revisions as > you choose. This proposal is changing that so that the semantics are > determined by the sender. Let's imagine someone wanted to augment this stream to include audit logs for each record update, e.g. which user made the change. One would want to include that information as part of the message, and have the ability to mark a deletion. I don't think it changes the semantics in this case, you can still choose to interpret the data as a stream of audit log entries (inserts), ignoring the tombstone flag, or you can interpret it as a table modeling only the latest version of each record. Whether a compacted or normal topic is used shouldn't matter to the sender.