retry logic on puts

DO NOT MERGE.
Also the args are probably in the wrong order.