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): Add recoveryInProgress flag file #6962

Merged

Conversation

flipswitchingmonkey
Copy link
Contributor

Issue: during startup, unfinished executions trigger a recovery process that, under certain circumstances, can in itself crash the instance (e.g. by running our of memory), resulting in an infinite recovery loop

This PR aims to change this behaviour by writing a flag file when the recovery process starts, and removing it when it finishes. In the case of a crash, this flag will persist and upon the next attempt, the recovery will instead do the absolute minimal (marking executions as 'crashed'), without attempting any 'crashable' actions.

@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.

@n8n-assistant n8n-assistant bot added core Enhancement outside /nodes-base and /editor-ui n8n team Authored by the n8n team labels Aug 17, 2023
@codecov
Copy link

codecov bot commented Aug 17, 2023

Codecov Report

Patch coverage: 5.88% and project coverage change: -0.01% ⚠️

Comparison is base (b6a00fe) 25.13% compared to head (c9c44d5) 25.13%.
Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6962      +/-   ##
==========================================
- Coverage   25.13%   25.13%   -0.01%     
==========================================
  Files        3150     3150              
  Lines      192105   192152      +47     
  Branches    21159    21170      +11     
==========================================
+ Hits        48288    48291       +3     
- Misses     142835   142879      +44     
  Partials      982      982              
Files Changed Coverage Δ
.../MessageEventBusWriter/MessageEventBusLogWriter.ts 54.36% <0.00%> (-3.92%) ⬇️
...geEventBusWriter/MessageEventBusLogWriterWorker.ts 0.00% <0.00%> (ø)
...ase/nodes/Google/Sheet/GoogleSheetsTrigger.node.ts 0.00% <0.00%> (ø)
...li/src/eventbus/MessageEventBus/MessageEventBus.ts 47.80% <13.04%> (-4.05%) ⬇️

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

krynble
krynble previously approved these changes Aug 18, 2023
Copy link
Contributor

@krynble krynble left a comment

Choose a reason for hiding this comment

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

LGTM

@github-actions
Copy link
Contributor

⚠️ Some Cypress E2E specs are failing, please fix them before merging

@cypress
Copy link

cypress bot commented Aug 18, 2023

Passing run #1941 ↗︎

0 228 0 0 Flakiness 0

Details:

🌳 pay-679-improve-the-event-log-recovery-code 🖥️ browsers:node18.12.0-chrome10...
Project: n8n Commit: c9c44d5857
Status: Passed Duration: 07:29 💡
Started: Aug 18, 2023 2:54 PM Ended: Aug 18, 2023 3:01 PM

This comment has been generated by cypress-bot as a result of this project's GitHub integration settings.

@github-actions
Copy link
Contributor

⚠️ Some Cypress E2E specs are failing, please fix them before merging

@github-actions
Copy link
Contributor

✅ All Cypress E2E specs passed

@flipswitchingmonkey flipswitchingmonkey merged commit 7b96820 into master Aug 18, 2023
18 checks passed
@flipswitchingmonkey flipswitchingmonkey deleted the pay-679-improve-the-event-log-recovery-code branch August 18, 2023 15:12
This was referenced Aug 23, 2023
krynble added a commit that referenced this pull request Aug 23, 2023
# [1.4.0](https://github.com/n8n-io/n8n/compare/n8n@1.3.0...n8n@1.4.0)
(2023-08-23)


### Bug Fixes

* **core:** Add recoveryInProgress flag file
([#6962](#6962))
([7b96820](7b96820))
* **core:** Fix `continueOnFail` for expression error in Set
([#6939](#6939))
([d4fac05](d4fac05))
* **core:** Fix `import:workflow` command
([#6996](#6996))
([8c38d85](8c38d85))
* **core:** Replace throw with warning when deactivating a non-active
workflow ([#6969](#6969))
([b6a00fe](b6a00fe))
* **core:** Set up OAuth2 cred test
([#6960](#6960))
([4fc69b7](4fc69b7))
* **editor:** Do not flag dynamic load options issue on expression
([#6932](#6932))
([60a1ef0](60a1ef0))
* **editor:** Ensure community node install button tracks user agreement
([#6976](#6976))
([0ddfc73](0ddfc73))
* **editor:** Fix parsing for single quoted resolvables
([#6982](#6982))
([f32e993](f32e993))
* **editor:** Fix Remove all fields not removing values in resource
mapper ([#6940](#6940))
([e6cff3f](e6cff3f))
* **editor:** Prevent Code node linter from erroring on `null` parse
([#6934](#6934))
([40d3a29](40d3a29))
* **Google Sheets Node:** Fix short sheet name interpreted as range
([#6989](#6989))
([00268a0](00268a0))
* **Google Sheets Trigger Node:** Support sheet names with non-latin
characters ([#6970](#6970))
([052dd7c](052dd7c))
* **GraphQL Node:** Improve error handling
([#6955](#6955))
([41db637](41db637))
* **Mautic Node:** Fix issue with owner not being set correctly
([#6991](#6991))
([64b950f](64b950f))
* **Salesforce Node:** Fix Account update owner operation
([#6958](#6958))
([9b27878](9b27878))
* **Shopify Node:** Fix pagination when using options
([#6972](#6972))
([475d9c9](475d9c9))
* **Webhook Node:** Backward compatible form-data parsing for non-array
fields ([#6967](#6967))
([9455bcf](9455bcf))


### Features

* **core:** Add a warning to error workflows that cannot be started due
to permission or settings
([#6961](#6961))
([67b88f7](67b88f7))
* **core:** Add support for ready hooks, and credentials overwrite
endpoint in workers ([#6954](#6954))
([8f8a1de](8f8a1de))
* **editor:** Show banner for non-production licenses
([#6943](#6943))
([413570c](413570c))
* Remove PostHog event calls
([#6915](#6915))
([270946a](270946a))
* **Send Email Node:** Add support for sending text and html email
simultaneously ([#6978](#6978))
([3860d41](3860d41))

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

janober commented Aug 30, 2023

Got released with n8n@1.4.1

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