fix idempotence issue