idempotent consumer