ameliorate #10181: wrap doWork with retry outside transaction