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): Fix hard deletes stopping if database query throws #7848

Merged
merged 2 commits into from
Dec 5, 2023

Conversation

mayorandrew
Copy link
Contributor

I have observed that the next hard deletion timeout is not scheduled if the hardDeleteOnPruningCycle function throws when fetching the data from the database. That is because the thrown error is not caught and the scheduleHardDeletion method is not called.

This PR moves the call to scheduleHardDeletion into the scheduleHardDeletion for better cohesion, and ensures that it is called even if hardDeleteOnPruningCycle throws.

@CLAassistant
Copy link

CLAassistant commented Nov 28, 2023

CLA assistant check
All committers have signed the CLA.

@n8n-assistant n8n-assistant bot added community Authored by a community member core Enhancement outside /nodes-base and /editor-ui labels Nov 28, 2023
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 your contribution! LGTM, only one comment.

@@ -174,8 +180,7 @@ export class PruningService {

if (executionIds.length === 0) {
this.logger.debug('[Pruning] Found no executions to hard-delete');
this.scheduleHardDeletion();
return;
return undefined;
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's return this.rates.hardDeletion to keep the return type consistent?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done ✅

Copy link

cypress bot commented Dec 5, 2023

2 flaky tests on run #3199 ↗︎

0 288 5 0 Flakiness 2

Details:

🌳 choco-catch-errors 🖥️ browsers:node18.12.0-chrome107 🤖 ivan 🗃️ e2e/*
Project: n8n Commit: df4937add2
Status: Passed Duration: 06:13 💡
Started: Dec 5, 2023 3:23 PM Ended: Dec 5, 2023 3:29 PM
Flakiness  28-debug.cy.ts • 1 flaky test

View Output Video

Test Artifacts
Debug > should be able to debug executions Screenshots Video
Flakiness  26-resource-locator.cy.ts • 1 flaky test

View Output Video

Test Artifacts
Resource Locator > should retrieve list options when other params throw errors Screenshots Video

Review all test suite changes for PR #7848 ↗︎

@ivov ivov merged commit 46dd4d3 into n8n-io:master Dec 5, 2023
24 checks passed
@github-actions github-actions bot mentioned this pull request Dec 6, 2023
ivov added a commit that referenced this pull request Dec 6, 2023
#
[1.20.0](https://github.com/n8n-io/n8n/compare/n8n@1.19.0...n8n@1.20.0)
(2023-12-06)


### Bug Fixes

* **AWS DynamoDB Node:** Improve error message parsing
([#7793](#7793))
([5ba5ed8](5ba5ed8))
* **core:** Allow grace period for binary data deletion after manual
execution ([#7889](#7889))
([61d8aeb](61d8aeb))
* **core:** Consolidate ownership and sharing data on workflows and
credentials ([#7920](#7920))
([38b88b9](38b88b9))
* **core:** Fix hard deletes stopping if database query throws
([#7848](#7848))
([46dd4d3](46dd4d3))
* **core:** Make sure mfa secret and recovery codes are not returned on
login ([#7936](#7936))
([f5502cc](f5502cc))
* **editor:** Fix deletion of last execution at execution preview
([#7883](#7883))
([ce2d388](ce2d388))
* **editor:** Replace isInstanceOwner checks with scopes where
applicable ([#7858](#7858))
([132d691](132d691))
* **Google Sheets Node:** Fix issue with paired items not being set
correctly ([#7862](#7862))
([5207a2f](5207a2f))
* **Notion Node:** Fix broken Notion node parameters
([#7864](#7864))
([51d1f5b](51d1f5b)),
closes [#7791](#7791)


### Features

* **BambooHR Node:** Add support for Only Current on company reports
([#7878](#7878))
([4175801](4175801))
* **core:** Allow admin creation
([#7837](#7837))
([476806e](476806e))
* **editor:** Add sections to create node panel
([#7831](#7831))
([39fa8d2](39fa8d2))
* **editor:** Open template credential setup from collection
([#7882](#7882))
([627ddb9](627ddb9))
* **editor:** Select credentials in template setup if theres only one
([#7879](#7879))
([fe3417a](fe3417a))


### Performance Improvements

* **editor:** Improve node rendering performance when opening large
workflows ([#7904](#7904))
([a8049a0](a8049a0))
* **editor:** Improve performance when opening large workflows with node
issues ([#7901](#7901))
([4bd7ae2](4bd7ae2))

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

janober commented Dec 6, 2023

Got released with n8n@1.20.0

@github-actions github-actions bot mentioned this pull request Dec 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community Authored by a community member core Enhancement outside /nodes-base and /editor-ui Released
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants