Describe the bug
Currently, if one attempts to do a WATCH within a transaction, it fails.
ERR WATCH inside MULTI is not allowed
However, if one does an UNWATCH within a MULTI/EXEC transaction it doesn't fail, but also has zero effect (i.e. its only executed at exec time when the dirty/cleanliness of the client's WATCHes was already decided. So, one just either get a nil back (EXEC was aborted due to WATCH being dirty) or one gets a pointless "OK" back in the response array where the UNWATCH was issued.
To reproduce
insert an UNWATCH into a MULTI/EXEC transaction.
Expected behavior
Should be rejected similarly to WATCH.
Comment From: enjoy-binbin
9108, I remember I had this question before
Comment From: oranagra
thanks @enjoy-binbin for the reference. so the conclusion is that it's wrong, but we rather leave it like that than make a change that can cause some apps to break.