Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(core): Keep in-memory execution status in-sync with the DB (no-changelog) #11843

Merged
merged 3 commits into from
Nov 22, 2024

Conversation

netroy
Copy link
Member

@netroy netroy commented Nov 22, 2024

Summary

When we evaluate the final status of an execution before persisting, we were not updating the in-memory copy of that status, which was leading to the status being incorrect in certain edge-cases.

Context
Extracted out of #11821

Related Linear tickets, Github issues, and Community forum posts

CAT-350

Review / Merge checklist

  • PR title and summary are descriptive. (conventions)
  • Docs updated or follow-up ticket created.
  • Tests included.
  • PR Labeled with release/backport (if the PR is an urgent fix that needs to be backported)

@netroy netroy added the release/backport Changes that need to be backported to older releases. label Nov 22, 2024
@netroy netroy requested a review from ivov November 22, 2024 10:32
Copy link

codecov bot commented Nov 22, 2024

Codecov Report

Attention: Patch coverage is 50.00000% with 2 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...ckages/cli/src/workflow-execute-additional-data.ts 50.00% 2 Missing ⚠️

📢 Thoughts on this report? Let us know!

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Nov 22, 2024
Copy link
Contributor

@ivov ivov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this, one less source of confusion 🙏🏻

Looking forward to the day all this hooks complexity is refactored away

error: new NodeOperationError(mock(), 'An error occurred'),
},
},
} as IRun;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit - Let's use mock<IRun>({ ... }) instead of asserting?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

using mock in this case required setting quite a few properties explicitly as undefined because mock returns recursive proxy for all non-defined properties.

I'll try to clean this up in a future PR.


import { determineFinalExecutionStatus } from '../shared-hook-functions';

describe('determineFinalExecutionStatus', () => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding tests! In future when it's fully covered let's look into simplifying this helper, e.g. I wonder why this old logic is relying on waitTill when we have a waiting status, etc.

Copy link

cypress bot commented Nov 22, 2024

n8n    Run #8053

Run Properties:  status check passed Passed #8053  •  git commit de2ca8ed34: 🌳 🖥️ browsers:node18.12.0-chrome107 🤖 netroy 🗃️ e2e/*
Project n8n
Branch Review CAT-350-keep-execution-status-in-sync
Run status status check passed Passed #8053
Run duration 04m 53s
Commit git commit de2ca8ed34: 🌳 🖥️ browsers:node18.12.0-chrome107 🤖 netroy 🗃️ e2e/*
Committer कारतोफ्फेलस्क्रिप्ट™
View all properties for this run ↗︎

Test results
Tests that failed  Failures 0
Tests that were flaky  Flaky 4
Tests that did not run due to a developer annotating a test with .skip  Pending 0
Tests that did not run due to a failure in a mocha hook  Skipped 0
Tests that passed  Passing 478
View all changes introduced in this branch ↗︎

Copy link
Contributor

✅ All Cypress E2E specs passed

@netroy netroy merged commit 13cc5ab into master Nov 22, 2024
35 checks passed
@netroy netroy deleted the CAT-350-keep-execution-status-in-sync branch November 22, 2024 15:06
@janober
Copy link
Member

janober commented Nov 25, 2024

Got released with [email protected]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team release/backport Changes that need to be backported to older releases. Released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants