@balena/pinejs 16.2.0-build-joshbwlng-tasks-a83c83b4c78803915d0cb6297cc8cc1862622d08-1 → 16.2.0-build-joshbwlng-tasks-33d358773f8b8967b2eb6a90a6d72802e673a82e-1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,14 @@
1
1
  - commits:
2
+ - subject: Rollback handler tx on failure
3
+ hash: 33d358773f8b8967b2eb6a90a6d72802e673a82e
4
+ body: ""
5
+ footer:
6
+ Change-type: patch
7
+ change-type: patch
8
+ author: Josh Bowling
9
+ nested: []
2
10
  - subject: Add async tasks
3
- hash: a83c83b4c78803915d0cb6297cc8cc1862622d08
11
+ hash: 477db5350d7ad4d979188b4d68b9705d493438f1
4
12
  body: ""
5
13
  footer:
6
14
  Change-type: minor
@@ -9,7 +17,277 @@
9
17
  nested: []
10
18
  version: 16.2.0
11
19
  title: ""
12
- date: 2024-04-15T01:28:02.918Z
20
+ date: 2024-04-25T10:07:42.900Z
21
+ - commits:
22
+ - subject: Update @balena/odata-to-abstract-sql to 6.2.7
23
+ hash: 76b2f842af0b49ef2956db23a22758fc0d1e50a0
24
+ body: |
25
+ Update @balena/odata-to-abstract-sql from 6.2.3 to 6.2.7
26
+ footer:
27
+ Change-type: patch
28
+ change-type: patch
29
+ author: Thodoris Greasidis
30
+ nested:
31
+ - commits:
32
+ - subject: Properly error when using fields of a partial index as an alternate key
33
+ hash: 8652f142511cef14872353ec879365a5fd745c53
34
+ body: |
35
+ Update @balena/abstract-sql-compiler from 9.0.4 to 9.1.4
36
+ footer:
37
+ Change-type: patch
38
+ change-type: patch
39
+ author: Thodoris Greasidis
40
+ nested:
41
+ - commits:
42
+ - subject: Cast Big Serial to integer
43
+ hash: 9e4025dd57517f4ad6d06f4cb894062c6ce370cf
44
+ body: ""
45
+ footer:
46
+ Change-type: patch
47
+ change-type: patch
48
+ author: Josh Bowling
49
+ nested: []
50
+ version: abstract-sql-compiler-9.1.4
51
+ title: ""
52
+ date: 2024-04-09T10:04:33.059Z
53
+ - commits:
54
+ - subject: Update prepare script for husky v9
55
+ hash: bae835665431a88f0fdd4804f1d70757a7e11dd0
56
+ body: ""
57
+ footer:
58
+ Change-type: patch
59
+ change-type: patch
60
+ author: Josh Bowling
61
+ nested: []
62
+ - subject: Update dependency husky to v9
63
+ hash: d53d2f121e97d0dde35fe646e63b9d7179f4f098
64
+ body: |
65
+ Update husky from 8.0.3 to 9.0.11
66
+ footer:
67
+ Change-type: patch
68
+ change-type: patch
69
+ author: Self-hosted Renovate Bot
70
+ nested: []
71
+ version: abstract-sql-compiler-9.1.3
72
+ title: ""
73
+ date: 2024-04-09T01:41:53.829Z
74
+ - commits:
75
+ - subject: Update dependency lint-staged to v15
76
+ hash: 6b5c28a3170006cd3f6f963f03ec2ee67273223e
77
+ body: |
78
+ Update lint-staged from 13.3.0 to 15.2.2
79
+ footer:
80
+ Change-type: patch
81
+ change-type: patch
82
+ author: Self-hosted Renovate Bot
83
+ nested: []
84
+ version: abstract-sql-compiler-9.1.2
85
+ title: ""
86
+ date: 2024-04-09T01:09:18.361Z
87
+ - commits:
88
+ - subject: Update dependency @balena/lint to v8
89
+ hash: 835365353b766b89d80c80b84f48583ba0322849
90
+ body: |
91
+ Update @balena/lint from 6.2.2 to 8.0.0
92
+ footer:
93
+ Change-type: patch
94
+ change-type: patch
95
+ author: Thodoris Greasidis
96
+ nested: []
97
+ version: abstract-sql-compiler-9.1.1
98
+ title: ""
99
+ date: 2024-03-26T10:27:12.964Z
100
+ - commits:
101
+ - subject: Export the generateRuleHashAcronym helper
102
+ hash: 6d00b7dba58690019cfb443e4c876d30e8d7ad98
103
+ body: ""
104
+ footer:
105
+ Change-type: minor
106
+ change-type: minor
107
+ author: Thodoris Greasidis
108
+ nested: []
109
+ - subject: Add support for unique indexes with NOT DISTINCT NULLS
110
+ hash: cbd1177d14cd2266dd92f29755819a3139bf3bc1
111
+ body: ""
112
+ footer:
113
+ Change-type: minor
114
+ change-type: minor
115
+ author: Thodoris Greasidis
116
+ nested: []
117
+ - subject: Add support for partial unique indexes
118
+ hash: e2c92b8d5022ad29b95dd1e0837ec9dddec24fa4
119
+ body: ""
120
+ footer:
121
+ Change-type: minor
122
+ change-type: minor
123
+ author: Thodoris Greasidis
124
+ nested: []
125
+ version: abstract-sql-compiler-9.1.0
126
+ title: ""
127
+ date: 2024-03-26T09:29:57.519Z
128
+ - commits:
129
+ - subject: Update dependency @balena/odata-parser to v3
130
+ hash: d23614a1f7346edb262897ca8ff62abc2eaffff6
131
+ body: |
132
+ Update @balena/odata-parser from 2.5.0 to 3.0.3
133
+ footer:
134
+ Change-type: patch
135
+ change-type: patch
136
+ author: Self-hosted Renovate Bot
137
+ nested:
138
+ - commits:
139
+ - subject: Optimize by moving constant values into global init
140
+ hash: 94899b779fb879540f3675c3c9d7ca3f9d8af4bf
141
+ body: ""
142
+ footer:
143
+ Change-type: patch
144
+ change-type: patch
145
+ Signed-off-by: fisehara <harald@balena.io>
146
+ signed-off-by: fisehara <harald@balena.io>
147
+ author: fisehara
148
+ version: odata-parser-3.0.3
149
+ title: ""
150
+ date: 2024-01-04T15:30:09.102Z
151
+ - commits:
152
+ - subject: Update dependencies
153
+ hash: 0a7bd8ff2e506fa3988b6e1851e0098df5da3f86
154
+ body: >
155
+ - Update @balena/lint from 6.2.2 to 7.2.4
156
+
157
+ - Delete `require-npm4-to-publish` as handled by
158
+ `engines` parameter in `package.json`
159
+ footer:
160
+ Change-type: patch
161
+ change-type: patch
162
+ Signed-off-by: fisehara <harald@balena.io>
163
+ signed-off-by: fisehara <harald@balena.io>
164
+ author: fisehara
165
+ version: odata-parser-3.0.2
166
+ title: ""
167
+ date: 2024-01-04T10:16:56.896Z
168
+ - commits:
169
+ - subject: Allow running CI on external PRs
170
+ hash: 875af25a9e8ba9ade051f76f4500f5146db675a7
171
+ body: ""
172
+ footer:
173
+ Change-type: patch
174
+ change-type: patch
175
+ author: Pagan Gazzard
176
+ version: odata-parser-3.0.1
177
+ title: ""
178
+ date: 2023-09-25T10:50:13.648Z
179
+ - commits:
180
+ - subject: Use optional chaining operator
181
+ hash: 1fb39ef2497b964af0f2cbc953a3f0843936fe02
182
+ body: ""
183
+ footer:
184
+ Change-type: major
185
+ change-type: major
186
+ author: Pagan Gazzard
187
+ - subject: Set minimum supported nodejs version to 16.13.0
188
+ hash: 91b8f51691a9649e99f2dc64253cc5ce9b59035a
189
+ body: ""
190
+ footer:
191
+ Change-type: major
192
+ change-type: major
193
+ author: Pagan Gazzard
194
+ version: odata-parser-3.0.0
195
+ title: ""
196
+ date: 2023-04-26T14:57:49.416Z
197
+ version: abstract-sql-compiler-9.0.7
198
+ title: ""
199
+ date: 2024-03-22T13:08:03.336Z
200
+ - commits:
201
+ - subject: Update TypeScript to 5.4.3
202
+ hash: 29299180ecbcb5bcd26b47e52f86538fa9a1f0f8
203
+ body: ""
204
+ footer:
205
+ Change-type: patch
206
+ change-type: patch
207
+ author: Thodoris Greasidis
208
+ nested: []
209
+ version: abstract-sql-compiler-9.0.6
210
+ title: ""
211
+ date: 2024-03-21T16:34:21.387Z
212
+ - commits:
213
+ - subject: Update `@balena/sbvr-types`
214
+ hash: 1822aa5e81736f18f2a4dd265e5754b589d4fd36
215
+ body: >
216
+ Updaet @balena/sbvr-types from 6.0.0 to 7.0.1
217
+
218
+
219
+ @balena/sbvr-types changes `fetchProcessing` and not
220
+ validate. No change in abstract-sql-compiler interfaces.
221
+ => Patch
222
+ footer:
223
+ Change-type: patch
224
+ change-type: patch
225
+ Signed-off-by: Harald Fischer <harald@balena.io>
226
+ signed-off-by: Harald Fischer <harald@balena.io>
227
+ author: Harald Fischer
228
+ nested: []
229
+ version: abstract-sql-compiler-9.0.5
230
+ title: ""
231
+ date: 2024-03-05T19:12:37.779Z
232
+ version: odata-to-abstract-sql-6.2.7
233
+ title: ""
234
+ date: 2024-04-23T12:52:44.677Z
235
+ - commits:
236
+ - subject: Update dependency husky to v9
237
+ hash: cb1f02871fbea35df4b637f73625fbc39840da3a
238
+ body: |
239
+ Update husky from 8.0.3 to 9.0.11
240
+ footer:
241
+ Change-type: patch
242
+ change-type: patch
243
+ author: Self-hosted Renovate Bot
244
+ nested: []
245
+ version: odata-to-abstract-sql-6.2.6
246
+ title: ""
247
+ date: 2024-04-13T14:30:55.197Z
248
+ - commits:
249
+ - subject: Update dependency @balena/lint to v8
250
+ hash: 7b0e4b7272b0cda5690b925b7de259612085940e
251
+ body: |
252
+ Update @balena/lint from 7.3.0 to 8.0.0
253
+ footer:
254
+ Change-type: patch
255
+ change-type: patch
256
+ author: Self-hosted Renovate Bot
257
+ nested: []
258
+ version: odata-to-abstract-sql-6.2.5
259
+ title: ""
260
+ date: 2024-04-10T00:24:14.349Z
261
+ - commits:
262
+ - subject: Update `@balena/sbvr-types` devDependencies
263
+ hash: 93ba82f914f8e036e79fa174a58881db294b84c6
264
+ body: |
265
+ Update `@balena/sbvr-types` from 6.1.1 to 7.0.1
266
+
267
+ Update of devDependencies => patch
268
+ footer:
269
+ Change-type: patch
270
+ change-type: patch
271
+ Signed-off-by: fisehara <harald@balena.io>
272
+ signed-off-by: fisehara <harald@balena.io>
273
+ author: fisehara
274
+ nested: []
275
+ - subject: Fix linter issue
276
+ hash: d5e0d142e779f29ef316cdb20d0f91a983960e69
277
+ body: ""
278
+ footer:
279
+ Change-type: patch
280
+ change-type: patch
281
+ Signed-off-by: fisehara <harald@balena.io>
282
+ signed-off-by: fisehara <harald@balena.io>
283
+ author: fisehara
284
+ nested: []
285
+ version: odata-to-abstract-sql-6.2.4
286
+ title: ""
287
+ date: 2024-03-05T18:23:43.575Z
288
+ version: 16.1.3
289
+ title: ""
290
+ date: 2024-04-24T08:28:28.477Z
13
291
  - commits:
14
292
  - subject: Update dependency husky to v9
15
293
  hash: 715d2dd993591d449bca7ece48f069ed6994c8c7
package/CHANGELOG.md CHANGED
@@ -5,10 +5,118 @@ automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
5
5
  This project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  # v16.2.0
8
- ## (2024-04-15)
8
+ ## (2024-04-25)
9
9
 
10
+ * Rollback handler tx on failure [Josh Bowling]
10
11
  * Add async tasks [Josh Bowling]
11
12
 
13
+ # v16.1.3
14
+ ## (2024-04-24)
15
+
16
+
17
+ <details>
18
+ <summary> Update @balena/odata-to-abstract-sql to 6.2.7 [Thodoris Greasidis] </summary>
19
+
20
+ > ## odata-to-abstract-sql-6.2.7
21
+ > ### (2024-04-23)
22
+ >
23
+ >
24
+ > <details>
25
+ > <summary> Properly error when using fields of a partial index as an alternate key [Thodoris Greasidis] </summary>
26
+ >
27
+ >> ### abstract-sql-compiler-9.1.4
28
+ >> #### (2024-04-09)
29
+ >>
30
+ >> * Cast Big Serial to integer [Josh Bowling]
31
+ >>
32
+ >> ### abstract-sql-compiler-9.1.3
33
+ >> #### (2024-04-09)
34
+ >>
35
+ >> * Update prepare script for husky v9 [Josh Bowling]
36
+ >> * Update dependency husky to v9 [Self-hosted Renovate Bot]
37
+ >>
38
+ >> ### abstract-sql-compiler-9.1.2
39
+ >> #### (2024-04-09)
40
+ >>
41
+ >> * Update dependency lint-staged to v15 [Self-hosted Renovate Bot]
42
+ >>
43
+ >> ### abstract-sql-compiler-9.1.1
44
+ >> #### (2024-03-26)
45
+ >>
46
+ >> * Update dependency @balena/lint to v8 [Thodoris Greasidis]
47
+ >>
48
+ >> ### abstract-sql-compiler-9.1.0
49
+ >> #### (2024-03-26)
50
+ >>
51
+ >> * Export the generateRuleHashAcronym helper [Thodoris Greasidis]
52
+ >> * Add support for unique indexes with NOT DISTINCT NULLS [Thodoris Greasidis]
53
+ >> * Add support for partial unique indexes [Thodoris Greasidis]
54
+ >>
55
+ >> ### abstract-sql-compiler-9.0.7
56
+ >> #### (2024-03-22)
57
+ >>
58
+ >>
59
+ >> <details>
60
+ >> <summary> Update dependency @balena/odata-parser to v3 [Self-hosted Renovate Bot] </summary>
61
+ >>
62
+ >>> #### odata-parser-3.0.3
63
+ >>> ##### (2024-01-04)
64
+ >>>
65
+ >>> * Optimize by moving constant values into global init [fisehara]
66
+ >>>
67
+ >>> #### odata-parser-3.0.2
68
+ >>> ##### (2024-01-04)
69
+ >>>
70
+ >>> * Update dependencies [fisehara]
71
+ >>>
72
+ >>> #### odata-parser-3.0.1
73
+ >>> ##### (2023-09-25)
74
+ >>>
75
+ >>> * Allow running CI on external PRs [Pagan Gazzard]
76
+ >>>
77
+ >>> #### odata-parser-3.0.0
78
+ >>> ##### (2023-04-26)
79
+ >>>
80
+ >>> * Use optional chaining operator [Pagan Gazzard]
81
+ >>> * Set minimum supported nodejs version to 16.13.0 [Pagan Gazzard]
82
+ >>>
83
+ >>
84
+ >> </details>
85
+ >>
86
+ >>
87
+ >> ### abstract-sql-compiler-9.0.6
88
+ >> #### (2024-03-21)
89
+ >>
90
+ >> * Update TypeScript to 5.4.3 [Thodoris Greasidis]
91
+ >>
92
+ >> ### abstract-sql-compiler-9.0.5
93
+ >> #### (2024-03-05)
94
+ >>
95
+ >> * Update `@balena/sbvr-types` [Harald Fischer]
96
+ >>
97
+ >
98
+ > </details>
99
+ >
100
+ >
101
+ > ## odata-to-abstract-sql-6.2.6
102
+ > ### (2024-04-13)
103
+ >
104
+ > * Update dependency husky to v9 [Self-hosted Renovate Bot]
105
+ >
106
+ > ## odata-to-abstract-sql-6.2.5
107
+ > ### (2024-04-10)
108
+ >
109
+ > * Update dependency @balena/lint to v8 [Self-hosted Renovate Bot]
110
+ >
111
+ > ## odata-to-abstract-sql-6.2.4
112
+ > ### (2024-03-05)
113
+ >
114
+ > * Update `@balena/sbvr-types` devDependencies [fisehara]
115
+ > * Fix linter issue [fisehara]
116
+ >
117
+
118
+ </details>
119
+
12
120
  # v16.1.2
13
121
  ## (2024-04-14)
14
122
 
@@ -25,6 +25,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.Worker = void 0;
27
27
  const env_1 = require("../config-loader/env");
28
+ const db_1 = require("../database-layer/db");
28
29
  const permissions = __importStar(require("../sbvr-api/permissions"));
29
30
  const sbvr_utils_1 = require("../sbvr-api/sbvr-utils");
30
31
  const module_1 = require("../server-glue/module");
@@ -66,16 +67,36 @@ class Worker {
66
67
  await this.finalize(tx, task, startedOnTime, 'failed', `Invalid parameter set: ${common_1.ajv.errorsText(handler.validate.errors)}`);
67
68
  return;
68
69
  }
69
- const result = await handler.fn({
70
- api: new sbvr_utils_1.PinejsClient({
71
- passthrough: {
72
- tx,
73
- },
74
- }),
75
- params: task.is_executed_with__parameter_set ?? {},
76
- tx,
77
- });
78
- await this.finalize(tx, task, startedOnTime, result.status, result.error);
70
+ let status = 'pending';
71
+ let error;
72
+ try {
73
+ await module_1.sbvrUtils.db.transaction(async (handlerTx) => {
74
+ const result = await handler.fn({
75
+ api: new sbvr_utils_1.PinejsClient({
76
+ passthrough: {
77
+ tx: handlerTx,
78
+ },
79
+ }),
80
+ params: task.is_executed_with__parameter_set ?? {},
81
+ tx: handlerTx,
82
+ });
83
+ status = result.status;
84
+ error = result.error;
85
+ if (status !== 'success') {
86
+ await handlerTx.rollback();
87
+ }
88
+ });
89
+ }
90
+ catch (err) {
91
+ if (err instanceof db_1.TransactionClosedError &&
92
+ err.message.includes('rolled back')) {
93
+ return;
94
+ }
95
+ throw err;
96
+ }
97
+ finally {
98
+ await this.finalize(tx, task, startedOnTime, status, error);
99
+ }
79
100
  }
80
101
  catch (err) {
81
102
  console.error('Task execution failed:', err);
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../src/tasks/worker.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@balena/pinejs",
3
- "version": "16.2.0-build-joshbwlng-tasks-a83c83b4c78803915d0cb6297cc8cc1862622d08-1",
3
+ "version": "16.2.0-build-joshbwlng-tasks-33d358773f8b8967b2eb6a90a6d72802e673a82e-1",
4
4
  "main": "out/server-glue/module",
5
5
  "type": "commonjs",
6
6
  "repository": "git@github.com:balena-io/pinejs.git",
@@ -30,7 +30,7 @@
30
30
  "@balena/env-parsing": "^1.1.10",
31
31
  "@balena/lf-to-abstract-sql": "^5.0.1",
32
32
  "@balena/odata-parser": "^3.0.3",
33
- "@balena/odata-to-abstract-sql": "^6.2.3",
33
+ "@balena/odata-to-abstract-sql": "^6.2.7",
34
34
  "@balena/sbvr-parser": "^1.4.3",
35
35
  "@balena/sbvr-types": "^7.0.1",
36
36
  "@types/body-parser": "^1.19.5",
@@ -147,6 +147,6 @@
147
147
  "recursive": true
148
148
  },
149
149
  "versionist": {
150
- "publishedAt": "2024-04-15T01:28:03.598Z"
150
+ "publishedAt": "2024-04-25T10:07:43.591Z"
151
151
  }
152
152
  }
@@ -1,6 +1,7 @@
1
1
  import type { AnyObject } from 'pinejs-client-core';
2
2
  import { tasks as tasksEnv } from '../config-loader/env';
3
3
  import type * as Db from '../database-layer/db';
4
+ import { TransactionClosedError } from '../database-layer/db';
4
5
  import * as permissions from '../sbvr-api/permissions';
5
6
  import { PinejsClient } from '../sbvr-api/sbvr-utils';
6
7
  import { sbvrUtils } from '../server-glue/module';
@@ -80,18 +81,40 @@ export class Worker {
80
81
  }
81
82
 
82
83
  // Execute handler
83
- const result = await handler.fn({
84
- api: new PinejsClient({
85
- passthrough: {
86
- tx,
87
- },
88
- }),
89
- params: task.is_executed_with__parameter_set ?? {},
90
- tx,
91
- });
84
+ let status: TaskStatus = 'pending';
85
+ let error: string | undefined;
86
+ try {
87
+ await sbvrUtils.db.transaction(async (handlerTx) => {
88
+ const result = await handler.fn({
89
+ api: new PinejsClient({
90
+ passthrough: {
91
+ tx: handlerTx,
92
+ },
93
+ }),
94
+ params: task.is_executed_with__parameter_set ?? {},
95
+ tx: handlerTx,
96
+ });
97
+ status = result.status;
98
+ error = result.error;
92
99
 
93
- // Update task with results
94
- await this.finalize(tx, task, startedOnTime, result.status, result.error);
100
+ // Rollback handler tx if handler failed
101
+ if (status !== 'success') {
102
+ await handlerTx.rollback();
103
+ }
104
+ });
105
+ } catch (err) {
106
+ // Ignore rollback errors
107
+ if (
108
+ err instanceof TransactionClosedError &&
109
+ err.message.includes('rolled back')
110
+ ) {
111
+ return;
112
+ }
113
+ throw err;
114
+ } finally {
115
+ // Update task with results
116
+ await this.finalize(tx, task, startedOnTime, status, error);
117
+ }
95
118
  } catch (err) {
96
119
  // This shouldn't happen, but if it does we want to log and kill the process
97
120
  console.error('Task execution failed:', err);