It would be nice to have a way to perform a stream operation where the data performed upon is done in an exclusive way. That is that the data cannot change while it is being processed upon. This is only at the level of per key. For example non tx cache could temporarily lock the entry to prevent a write. The same could occur with pessimistic transactions. Optimistic transactions are a bit special and in this case we could just allow for some retry logic to allow for the stream to reread a given key and try the stream operation again if a WriteSkewException was thrown.