-
Notifications
You must be signed in to change notification settings - Fork 13.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
fix(core): Run full manual execution when a trigger is executed even if run data exists #13194
fix(core): Run full manual execution when a trigger is executed even if run data exists #13194
Conversation
265b2c7
to
b59274c
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
26a73c4
to
c2247d3
Compare
n8n
|
Project |
n8n
|
Branch Review |
pay-1998-clicking-run-on-a-trigger-produces-an-error
|
Run status |
|
Run duration | 04m 43s |
Commit |
|
Committer | Danny Martini |
View all properties for this run ↗︎ |
Test results | |
---|---|
|
0
|
|
3
|
|
5
|
|
0
|
|
436
|
View all changes introduced in this branch ↗︎ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
couple questions
...xecution-engine/partial-execution-utils/__tests__/find-trigger-for-partial-execution.test.ts
Outdated
Show resolved
Hide resolved
c2247d3
to
57f28f2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🚀
|
✅ All Cypress E2E specs passed |
Got released with |
Summary
Run a full manual execution when a trigger is executed even if run data exists. Before it would try to run a partial execution which is not possible in that case.
Doing this as a partial execution is not possible, because running the trigger will remove all run data from the trigger and all it's children, thus turning this into a full execution.
If the trigger is a webhook trigger we need to activate it and listen for incoming data. If we are in the partial execution logic we can't do that anymore as we are too deep down to go back and register the webhook.
That's why we check in the
WorkflowExecutionService
if the destination node is a trigger. If that is the case we remove the run data and thus force the full manual execution flow.This is a bit of a workaround until we have decided how to structure this better, probably running the partial execution logic first (before creating the execution in the db) to find out if we can run this partially or if we need to check what trigger to use and if we need to wait for a webhook.
Before
PAY-1998-before.mp4
After
PAY-1998-after.mp4
Related Linear tickets, Github issues, and Community forum posts
https://linear.app/n8n/issue/PAY-1998/clicking-run-on-a-trigger-produces-an-error
Review / Merge checklist
Docs updated or follow-up ticket created.PR Labeled withrelease/backport
(if the PR is an urgent fix that needs to be backported)