URGENT Fix error in batch/transaction handling by mgravell · Pull Request #2177 · StackExchange/StackExchange.Redis (original) (raw)

A missing API override in RedisBatch/RedisTransaction can lead to some operations NOT ENTERING THE BATCH/TRANSACTION. This is very bad.

Some undefined set of operations (including at least ZRANGE) end up using what appears to be a new overload/path; this API was not overridden in the batch/transaction, with the impact that affected operations use the default behaviour and go directly to the multiplexer/connection. This means a: they are issued even if the transaction/batch is not ever executed, and b: if everything is issued, they are issued out-of-order (i.e. before the main batch/transaction)

See: #2167, #2176