Proposed change

Right now, the protection loop doesn't mark the promises as redeemed if they fail.

This means that it can get into an infinite loop which can cause a contention fight with the viz manager, if anything within the promise takes the viz lock.

This would cause it to stop trying to re-execute failed transactions. What do you think Stephen? Is this right, do we want to put in the protection somewhere else?