Skip to content

feat(engine): idempotency#4045

Merged
mrkaye97 merged 114 commits into
mainfrom
mk/feat-idempotency
Jul 16, 2026
Merged

feat(engine): idempotency#4045
mrkaye97 merged 114 commits into
mainfrom
mk/feat-idempotency

Conversation

@mrkaye97

@mrkaye97 mrkaye97 commented May 29, 2026

Copy link
Copy Markdown
Contributor

Description

Adds support for user-facing idempotency configuration on tasks and workflows, to enable e.g. duplicate event pushes to not trigger duplicate tasks. Idempotency is configured on the task / workflow, and then collisions raise an error (which can be handled) on the SDKs when they occur on the trigger path. On the event path, the runs that would've been triggered are dropped.

Fixes #3673

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

Changes have been:

  • Tested (unit, integration, or manually with steps specified)
  • Linted and formatted
  • Documented (where applicable)
  • Added to CHANGELOG (where applicable) -- see Keep a Changelog
🤖 AI Disclosure
  • I acknowledge that an LLM was used in the creation of this Pull Request, in accordance with Hatchet's AI_POLICY.md.
  • Details: Used Claude Code for generating the other three SDKs after implementing Python, and for wiring up some API logic

@vercel

vercel Bot commented May 29, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hatchet-docs Ready Ready Preview, Comment Jul 16, 2026 3:37pm

Request Review

@github-actions github-actions Bot added sdk-py Related to the Python sdk engine Related to the core Hatchet engine labels May 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Optional test failure: The load-deadlock job failed on this PR (optimistic-scheduling=false). This check is non-mandatory and does not block merging, but may be worth investigating. View logs

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Optional test failure: The load-deadlock job failed on this PR (optimistic-scheduling=true). This check is non-mandatory and does not block merging, but may be worth investigating. View logs

@mrkaye97

Copy link
Copy Markdown
Contributor Author

@abelanger5 responded with a couple questions, and think I got all the other feedback fixed

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Optional test failure: The load-deadlock job failed on this PR (optimistic-scheduling=false). This check is non-mandatory and does not block merging, but may be worth investigating. View logs

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Optional test failure: The load-deadlock job failed on this PR (optimistic-scheduling=true). This check is non-mandatory and does not block merging, but may be worth investigating. View logs

@mrkaye97
mrkaye97 merged commit 34c8b92 into main Jul 16, 2026
64 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard Related to the Hatchet dashboard documentation Improvements or additions to documentation engine Related to the core Hatchet engine sdk-go Related to the Go SDK sdk-py Related to the Python sdk sdk-ruby Related to the Ruby SDK sdk-ts Related to the Typescript SDK

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] User-configurable idempotency keys

4 participants