Mark payload outcomes by column, not through the entity

FixDaemonService
Shipped
August 20, 2026 at 11:19 PM UTC
Author
Kamo
Commit
ea99e0a

payloadRepo.save() on a detached payload makes Hibernate walk its graph — organization pulls in org_domains — and that read lands in a transaction that has already written, which YugabyteDB rejects with 40001 "Restart read required". The outcome then never persisted, the payload stayed RECEIVED, and the next run imported a lead that already existed. Roughly 1% of rows on a live 13k batch. markPayloadOutcome writes the three columns this needed and nothing else.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing