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): Prevent false stalled jobs in queue mode from displaying as errored #7435

Conversation

flipswitchingmonkey
Copy link
Contributor

This is related to an issue with how Bull handles stalled jobs, see OptimalBits/bull#1415 for reference.

CPU intensive workflows can in certain cases take a long while to finish up, thereby blocking the thread and causing Bull queue to think the job has stalled, even though it finished successfully. In these cases the error handling could then overwrite the successful execution data with the error message.

@github-actions
Copy link
Contributor

Great PR! Please pay attention to the following items before merging:

Files matching packages/**:

  • If fixing bug, added test to cover scenario.
  • If addressing forum or Github issue, added link to description.

Files matching packages/**/*.ts:

  • Added unit tests to cover new or updated functionality.

Make sure to check off this list before asking for review.

@codecov
Copy link

codecov bot commented Oct 13, 2023

Codecov Report

Attention: 5 lines in your changes are missing coverage. Please review.

Comparison is base (1307d48) 33.50% compared to head (62c51e5) 33.50%.
Report is 3 commits behind head on master.

❗ Current head 62c51e5 differs from pull request most recent head 1cedb5d. Consider uploading reports for the commit 1cedb5d to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #7435      +/-   ##
==========================================
- Coverage   33.50%   33.50%   -0.01%     
==========================================
  Files        3390     3390              
  Lines      207045   207050       +5     
  Branches    22344    22342       -2     
==========================================
- Hits        69369    69365       -4     
- Misses     136554   136563       +9     
  Partials     1122     1122              
Files Coverage Δ
packages/cli/src/WorkflowRunner.ts 9.09% <0.00%> (-0.17%) ⬇️

... and 5 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Oct 13, 2023
@krynble krynble changed the title fix(core): Add sanity check to prevent false stalled job from overwriting data fix(core): Prevent false stalled jobs in queue mode from displaying as errored Oct 13, 2023
@cypress
Copy link

cypress bot commented Oct 13, 2023

Passing run #2495 ↗︎

0 253 0 0 Flakiness 0

Details:

🌳 🖥️ browsers:node18.12.0-chrome107 🤖 flipswitchingmonkey 🗃️ e2e/*
Project: n8n Commit: 1cedb5dd05
Status: Passed Duration: 08:40 💡
Started: Oct 13, 2023 1:57 PM Ended: Oct 13, 2023 2:05 PM

Review all test suite changes for PR #7435 ↗︎

@github-actions
Copy link
Contributor

✅ All Cypress E2E specs passed

@flipswitchingmonkey flipswitchingmonkey merged commit e01b9e5 into master Oct 13, 2023
55 checks passed
@flipswitchingmonkey flipswitchingmonkey deleted the pay-277-bug-rendering-of-crashed-execution-has-no-failed-node branch October 13, 2023 14:07
@github-actions github-actions bot mentioned this pull request Oct 18, 2023
netroy added a commit that referenced this pull request Oct 18, 2023
# [1.12.0](https://github.com/n8n-io/n8n/compare/n8n@1.11.0...n8n@1.12.0)
(2023-10-18)


### Bug Fixes

* **core:** Add check that queue is defined and remove cyclic dependency
([#7404](#7404))
([45f2ef3](45f2ef3))
* **core:** Do not throw when deleting workflows with executions without
binary-data ([#7411](#7411))
([2b6a15e](2b6a15e))
* **core:** Fix expression with paired item with multi-input node
([#7424](#7424))
([ec14141](ec14141))
* **core:** Fix ignoring crashed executions without event msgs
([#7368](#7368))
([2f4d91b](2f4d91b))
* **core:** Pg-promise de-initialization fix
([#7417](#7417))
([7703904](7703904))
* **core:** Prevent false stalled jobs in queue mode from displaying as
errored ([#7435](#7435))
([e01b9e5](e01b9e5))
* **core:** Prevent undefined issues when restoring binary data
([#7419](#7419))
([46977a2](46977a2))
* **editor:** Fix remote options fetching on every keystroke
([#7320](#7320))
([367255a](367255a))
* **editor:** Open only one tab with plans page
([#7377](#7377))
([c599006](c599006))
* **Google Sheets Node:** Update by row_number, restored 'Handling Extra
Data Option', updated Cell Format default
([#7357](#7357))
([d8531a5](d8531a5))
* **Ldap Node:** Fix issue with connections not closing correctly
([#7432](#7432))
([c3f0be8](c3f0be8))
* **Set Node:** Null should not throw an error
([#7416](#7416))
([e9b6ab0](e9b6ab0))
* **TheHive 5 Node:** Observable encoding in alert > create fix
([#7450](#7450))
([a2d2e3d](a2d2e3d))


### Features

* **core:** Make executions pruning interval configurable
([#7439](#7439))
([40707fa](40707fa))
* **Google Calendar Trigger Node:** Add support for cancelled events
([#7436](#7436))
([9d241a0](9d241a0))
* **HubSpot Trigger Node:** Add support for ticket related events
([#7156](#7156))
([57c6093](57c6093))
* **n8n Form Trigger Node:** New node
([#7130](#7130))
([3ddc176](3ddc176))
* **Spreadsheet File Node:** Improve CSV parsing
([#7448](#7448))
([79f23fb](79f23fb))

Co-authored-by: netroy <netroy@users.noreply.github.com>
@janober
Copy link
Member

janober commented Oct 18, 2023

Got released with n8n@1.12.0

elsmr pushed a commit that referenced this pull request Oct 19, 2023
…s errored (#7435)

This is related to an issue with how Bull handles stalled jobs, see
OptimalBits/bull#1415 for reference.

CPU intensive workflows can in certain cases take a long while to finish
up, thereby blocking the thread and causing Bull queue to think the job
has stalled, even though it finished successfully. In these cases the
error handling could then overwrite the successful execution data with
the error message.
elsmr pushed a commit that referenced this pull request Oct 19, 2023
# [1.12.0](https://github.com/n8n-io/n8n/compare/n8n@1.11.0...n8n@1.12.0)
(2023-10-18)


### Bug Fixes

* **core:** Add check that queue is defined and remove cyclic dependency
([#7404](#7404))
([45f2ef3](45f2ef3))
* **core:** Do not throw when deleting workflows with executions without
binary-data ([#7411](#7411))
([2b6a15e](2b6a15e))
* **core:** Fix expression with paired item with multi-input node
([#7424](#7424))
([ec14141](ec14141))
* **core:** Fix ignoring crashed executions without event msgs
([#7368](#7368))
([2f4d91b](2f4d91b))
* **core:** Pg-promise de-initialization fix
([#7417](#7417))
([7703904](7703904))
* **core:** Prevent false stalled jobs in queue mode from displaying as
errored ([#7435](#7435))
([e01b9e5](e01b9e5))
* **core:** Prevent undefined issues when restoring binary data
([#7419](#7419))
([46977a2](46977a2))
* **editor:** Fix remote options fetching on every keystroke
([#7320](#7320))
([367255a](367255a))
* **editor:** Open only one tab with plans page
([#7377](#7377))
([c599006](c599006))
* **Google Sheets Node:** Update by row_number, restored 'Handling Extra
Data Option', updated Cell Format default
([#7357](#7357))
([d8531a5](d8531a5))
* **Ldap Node:** Fix issue with connections not closing correctly
([#7432](#7432))
([c3f0be8](c3f0be8))
* **Set Node:** Null should not throw an error
([#7416](#7416))
([e9b6ab0](e9b6ab0))
* **TheHive 5 Node:** Observable encoding in alert > create fix
([#7450](#7450))
([a2d2e3d](a2d2e3d))


### Features

* **core:** Make executions pruning interval configurable
([#7439](#7439))
([40707fa](40707fa))
* **Google Calendar Trigger Node:** Add support for cancelled events
([#7436](#7436))
([9d241a0](9d241a0))
* **HubSpot Trigger Node:** Add support for ticket related events
([#7156](#7156))
([57c6093](57c6093))
* **n8n Form Trigger Node:** New node
([#7130](#7130))
([3ddc176](3ddc176))
* **Spreadsheet File Node:** Improve CSV parsing
([#7448](#7448))
([79f23fb](79f23fb))

Co-authored-by: netroy <netroy@users.noreply.github.com>
netroy pushed a commit that referenced this pull request Oct 23, 2023
…s errored (#7435)

This is related to an issue with how Bull handles stalled jobs, see
OptimalBits/bull#1415 for reference.

CPU intensive workflows can in certain cases take a long while to finish
up, thereby blocking the thread and causing Bull queue to think the job
has stalled, even though it finished successfully. In these cases the
error handling could then overwrite the successful execution data with
the error message.
@github-actions github-actions bot mentioned this pull request Oct 23, 2023
netroy added a commit that referenced this pull request Oct 23, 2023
## [1.11.2](https://github.com/n8n-io/n8n/compare/n8n@1.11.1...n8n@1.11.2)
(2023-10-23)


### Bug Fixes

* **core:** Handle gzip and deflate compressed request payloads
([#7461](#7461))
([f43ff71](f43ff71))
* **core:** Prevent false stalled jobs in queue mode from displaying as
errored ([#7435](#7435))
([465a952](465a952))
* **core:** Reduce logging overhead for levels that do not output
([#7479](#7479))
([010aa57](010aa57))
* **editor:** Allow importing the same workflow multiple times
([#7458](#7458))
([33e3df8](33e3df8)),
closes [#7457](#7457)
* **editor:** Fix canvas selection breaking after interacting with node
actions ([#7466](#7466))
([90ce8de](90ce8de))
* **editor:** Fix connections disappearing after reactivating canvas and
renaming a node ([#7483](#7483))
([b0bd0d8](b0bd0d8))
* **editor:** Open only one tab with plans page
([#7377](#7377))
([d14e9cb](d14e9cb))
* **Ldap Node:** Fix issue with connections not closing correctly
([#7432](#7432))
([60ca02e](60ca02e))
* **MySQL Node:** Resolve expressions in v1
([#7464](#7464))
([2b18909](2b18909))
* **TheHive 5 Node:** Observable encoding in alert > create fix
([#7450](#7450))
([b9547ad](b9547ad))

Co-authored-by: netroy <netroy@users.noreply.github.com>
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 Released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants