@dbos-inc/dbos-sdk 3.0.54-preview → 3.0.56-preview
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dbos-config.schema.json +5 -3
- package/dist/dbos-config.schema.json +5 -3
- package/dist/src/context.d.ts +0 -6
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +6 -9
- package/dist/src/context.js.map +1 -1
- package/dist/src/datasource.d.ts +0 -7
- package/dist/src/datasource.d.ts.map +1 -1
- package/dist/src/datasource.js +1 -2
- package/dist/src/datasource.js.map +1 -1
- package/dist/src/dbos-executor.d.ts +8 -3
- package/dist/src/dbos-executor.d.ts.map +1 -1
- package/dist/src/dbos-executor.js +45 -14
- package/dist/src/dbos-executor.js.map +1 -1
- package/dist/src/dbos-runtime/cli.d.ts.map +1 -1
- package/dist/src/dbos-runtime/cli.js +3 -22
- package/dist/src/dbos-runtime/cli.js.map +1 -1
- package/dist/src/dbos-runtime/config.d.ts +3 -6
- package/dist/src/dbos-runtime/config.d.ts.map +1 -1
- package/dist/src/dbos-runtime/config.js +4 -12
- package/dist/src/dbos-runtime/config.js.map +1 -1
- package/dist/src/dbos.d.ts.map +1 -1
- package/dist/src/dbos.js +1 -2
- package/dist/src/dbos.js.map +1 -1
- package/dist/src/index.d.ts +1 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -3
- package/dist/src/dbos-runtime/debug.d.ts +0 -4
- package/dist/src/dbos-runtime/debug.d.ts.map +0 -1
- package/dist/src/dbos-runtime/debug.js +0 -49
- package/dist/src/dbos-runtime/debug.js.map +0 -1
- package/dist/src/dbos-runtime/runtime.d.ts +0 -33
- package/dist/src/dbos-runtime/runtime.d.ts.map +0 -1
- package/dist/src/dbos-runtime/runtime.js +0 -145
- package/dist/src/dbos-runtime/runtime.js.map +0 -1
package/dbos-config.schema.json
CHANGED
@@ -161,15 +161,17 @@
|
|
161
161
|
"type": "array",
|
162
162
|
"items": {
|
163
163
|
"type": "string"
|
164
|
-
}
|
164
|
+
},
|
165
|
+
"deprecated": true
|
165
166
|
},
|
166
167
|
"port": {
|
167
168
|
"type": "number",
|
168
|
-
"description": "The port number of the application server (Default: 3000)"
|
169
|
+
"description": "The port number of the application server (Default: 3000)",
|
170
|
+
"deprecated": true
|
169
171
|
},
|
170
172
|
"admin_port": {
|
171
173
|
"type": "number",
|
172
|
-
"description": "The port number of the admin server (Default: 3001
|
174
|
+
"description": "The port number of the admin server (Default: 3001)"
|
173
175
|
},
|
174
176
|
"start": {
|
175
177
|
"type": "array",
|
@@ -161,15 +161,17 @@
|
|
161
161
|
"type": "array",
|
162
162
|
"items": {
|
163
163
|
"type": "string"
|
164
|
-
}
|
164
|
+
},
|
165
|
+
"deprecated": true
|
165
166
|
},
|
166
167
|
"port": {
|
167
168
|
"type": "number",
|
168
|
-
"description": "The port number of the application server (Default: 3000)"
|
169
|
+
"description": "The port number of the application server (Default: 3000)",
|
170
|
+
"deprecated": true
|
169
171
|
},
|
170
172
|
"admin_port": {
|
171
173
|
"type": "number",
|
172
|
-
"description": "The port number of the admin server (Default: 3001
|
174
|
+
"description": "The port number of the admin server (Default: 3001)"
|
173
175
|
},
|
174
176
|
"start": {
|
175
177
|
"type": "array",
|
package/dist/src/context.d.ts
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
/// <reference types="node" />
|
2
2
|
/// <reference types="node" />
|
3
|
-
/// <reference types="node" />
|
4
3
|
/// <reference types="node/http" />
|
5
4
|
import { DBOSContextualLogger } from './telemetry/logs';
|
6
5
|
import { IncomingHttpHeaders } from 'http';
|
7
6
|
import { ParsedUrlQuery } from 'querystring';
|
8
7
|
import { UserDatabaseClient } from './user_database';
|
9
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
10
8
|
import Koa from 'koa';
|
11
9
|
export interface StepStatus {
|
12
10
|
stepID: number;
|
@@ -39,11 +37,7 @@ export interface DBOSLocalCtx extends DBOSContextOptions {
|
|
39
37
|
sqlClient?: UserDatabaseClient;
|
40
38
|
koaContext?: Koa.Context;
|
41
39
|
}
|
42
|
-
export declare function isWithinWorkflowCtx(ctx: DBOSLocalCtx): boolean;
|
43
|
-
export declare function isInStepCtx(ctx: DBOSLocalCtx): boolean;
|
44
|
-
export declare function isInTxnCtx(ctx: DBOSLocalCtx): boolean;
|
45
40
|
export declare function isInWorkflowCtx(ctx: DBOSLocalCtx): boolean;
|
46
|
-
export declare const asyncLocalCtx: AsyncLocalStorage<DBOSLocalCtx>;
|
47
41
|
export declare function getCurrentContextStore(): DBOSLocalCtx | undefined;
|
48
42
|
export declare function getNextWFID(assignedID?: string): string | undefined;
|
49
43
|
export declare function functionIDGetIncrement(): number;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/src/context.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.runInStepContext = exports.runWithDataSourceContext = exports.runWithParentContext = exports.runWithTopContext = exports.functionIDGetIncrement = exports.getNextWFID = exports.getCurrentContextStore = exports.
|
3
|
+
exports.runInStepContext = exports.runWithDataSourceContext = exports.runWithParentContext = exports.runWithTopContext = exports.functionIDGetIncrement = exports.getNextWFID = exports.getCurrentContextStore = exports.isInWorkflowCtx = void 0;
|
4
4
|
const async_hooks_1 = require("async_hooks");
|
5
5
|
const error_1 = require("./error");
|
6
6
|
const dbos_executor_1 = require("./dbos-executor");
|
@@ -9,7 +9,6 @@ function isWithinWorkflowCtx(ctx) {
|
|
9
9
|
return false;
|
10
10
|
return true;
|
11
11
|
}
|
12
|
-
exports.isWithinWorkflowCtx = isWithinWorkflowCtx;
|
13
12
|
function isInStepCtx(ctx) {
|
14
13
|
if (ctx.workflowId === undefined)
|
15
14
|
return false;
|
@@ -17,7 +16,6 @@ function isInStepCtx(ctx) {
|
|
17
16
|
return true;
|
18
17
|
return false;
|
19
18
|
}
|
20
|
-
exports.isInStepCtx = isInStepCtx;
|
21
19
|
function isInTxnCtx(ctx) {
|
22
20
|
if (ctx.workflowId === undefined)
|
23
21
|
return false;
|
@@ -25,7 +23,6 @@ function isInTxnCtx(ctx) {
|
|
25
23
|
return true;
|
26
24
|
return false;
|
27
25
|
}
|
28
|
-
exports.isInTxnCtx = isInTxnCtx;
|
29
26
|
function isInWorkflowCtx(ctx) {
|
30
27
|
if (!isWithinWorkflowCtx(ctx))
|
31
28
|
return false;
|
@@ -36,9 +33,9 @@ function isInWorkflowCtx(ctx) {
|
|
36
33
|
return true;
|
37
34
|
}
|
38
35
|
exports.isInWorkflowCtx = isInWorkflowCtx;
|
39
|
-
|
36
|
+
const asyncLocalCtx = new async_hooks_1.AsyncLocalStorage();
|
40
37
|
function getCurrentContextStore() {
|
41
|
-
return
|
38
|
+
return asyncLocalCtx.getStore();
|
42
39
|
}
|
43
40
|
exports.getCurrentContextStore = getCurrentContextStore;
|
44
41
|
function getNextWFID(assignedID) {
|
@@ -66,11 +63,11 @@ function functionIDGetIncrement() {
|
|
66
63
|
}
|
67
64
|
exports.functionIDGetIncrement = functionIDGetIncrement;
|
68
65
|
async function runWithTopContext(ctx, callback) {
|
69
|
-
return await
|
66
|
+
return await asyncLocalCtx.run(ctx, callback);
|
70
67
|
}
|
71
68
|
exports.runWithTopContext = runWithTopContext;
|
72
69
|
async function runWithParentContext(pctx, ctx, callback) {
|
73
|
-
return await
|
70
|
+
return await asyncLocalCtx.run({
|
74
71
|
...pctx,
|
75
72
|
...ctx,
|
76
73
|
parentCtx: pctx,
|
@@ -80,7 +77,7 @@ exports.runWithParentContext = runWithParentContext;
|
|
80
77
|
async function runWithDataSourceContext(callnum, callback) {
|
81
78
|
// Check we are in a workflow context and not in a step / transaction already
|
82
79
|
const pctx = getCurrentContextStore() ?? {};
|
83
|
-
return await
|
80
|
+
return await asyncLocalCtx.run({
|
84
81
|
...pctx,
|
85
82
|
curTxFunctionId: callnum,
|
86
83
|
parentCtx: pctx,
|
package/dist/src/context.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":";;;AAIA,6CAAgD;AAChD,mCAA6D;AAE7D,mDAA+C;AAoC/C,
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"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"}
|
package/dist/src/datasource.d.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { FunctionName } from './decorators';
|
2
|
-
import type { Notification } from 'pg';
|
3
2
|
/**
|
4
3
|
* This interface is to be used for implementers of transactional data sources
|
5
4
|
* This is what gets registered for the transaction control framework
|
@@ -98,14 +97,8 @@ export interface PGTransactionConfig {
|
|
98
97
|
}
|
99
98
|
export declare const createTransactionCompletionSchemaPG = "CREATE SCHEMA IF NOT EXISTS dbos;";
|
100
99
|
export declare const createTransactionCompletionTablePG = "\n CREATE TABLE IF NOT EXISTS dbos.transaction_completion (\n workflow_id TEXT NOT NULL,\n function_num INT NOT NULL,\n output TEXT,\n error TEXT,\n created_at BIGINT NOT NULL DEFAULT (EXTRACT(EPOCH FROM now())*1000)::bigint,\n PRIMARY KEY (workflow_id, function_num)\n );\n";
|
101
|
-
export declare function getPGErrorCode(error: unknown): string | undefined;
|
102
100
|
export declare function isPGRetriableTransactionError(error: unknown): boolean;
|
103
101
|
export declare function isPGKeyConflictError(error: unknown): boolean;
|
104
102
|
export declare function isPGFailedSqlTransactionError(error: unknown): boolean;
|
105
|
-
export type PGDBNotification = Notification;
|
106
|
-
export type PGDBNotificationCallback = (n: PGDBNotification) => void;
|
107
|
-
export interface PGDBNotificationListener {
|
108
|
-
close(): Promise<void>;
|
109
|
-
}
|
110
103
|
export {};
|
111
104
|
//# sourceMappingURL=datasource.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,YAAY,EAKb,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"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"}
|
package/dist/src/datasource.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isPGFailedSqlTransactionError = exports.isPGKeyConflictError = exports.isPGRetriableTransactionError = exports.
|
3
|
+
exports.isPGFailedSqlTransactionError = exports.isPGKeyConflictError = exports.isPGRetriableTransactionError = exports.createTransactionCompletionTablePG = exports.createTransactionCompletionSchemaPG = exports.PGIsolationLevel = exports.registerDataSource = exports.registerTransaction = exports.runTransaction = void 0;
|
4
4
|
const api_1 = require("@opentelemetry/api");
|
5
5
|
const context_1 = require("./context");
|
6
6
|
const dbos_1 = require("./dbos");
|
@@ -152,7 +152,6 @@ exports.createTransactionCompletionTablePG = `
|
|
152
152
|
function getPGErrorCode(error) {
|
153
153
|
return error && typeof error === 'object' && 'code' in error ? error.code : undefined;
|
154
154
|
}
|
155
|
-
exports.getPGErrorCode = getPGErrorCode;
|
156
155
|
function isPGRetriableTransactionError(error) {
|
157
156
|
return getPGErrorCode(error) === '40001';
|
158
157
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":";;;AAAA,4CAAoE;AAEpE,uCAA0F;AAC1F,iCAA8B;AAC9B,mDAA8D;AAC9D,6CAMsB;AACtB,mCAA6D;
|
1
|
+
{"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../src/datasource.ts"],"names":[],"mappings":"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"}
|
@@ -12,9 +12,6 @@ import { ConfiguredInstance, TypedAsyncFunction } from './decorators';
|
|
12
12
|
import type { step_info } from '../schemas/system_db_schema';
|
13
13
|
import { GetWorkflowsInput } from '.';
|
14
14
|
import { WorkflowQueue } from './wfqueue';
|
15
|
-
export interface DBOSNull {
|
16
|
-
}
|
17
|
-
export declare const dbosNull: DBOSNull;
|
18
15
|
export declare const DBOS_QUEUE_MIN_PRIORITY = 1;
|
19
16
|
export declare const DBOS_QUEUE_MAX_PRIORITY: number;
|
20
17
|
export interface DBOSConfig {
|
@@ -31,6 +28,13 @@ export interface DBOSConfig {
|
|
31
28
|
adminPort?: number;
|
32
29
|
runAdminServer?: boolean;
|
33
30
|
}
|
31
|
+
export interface DBOSRuntimeConfig {
|
32
|
+
port: number;
|
33
|
+
admin_port: number;
|
34
|
+
runAdminServer: boolean;
|
35
|
+
start: string[];
|
36
|
+
setup: string[];
|
37
|
+
}
|
34
38
|
export type DBOSConfigInternal = {
|
35
39
|
name?: string;
|
36
40
|
databaseUrl: string;
|
@@ -97,6 +101,7 @@ export declare class DBOSExecutor {
|
|
97
101
|
readonly tracer: Tracer;
|
98
102
|
readonly executorID: string;
|
99
103
|
static globalInstance: DBOSExecutor | undefined;
|
104
|
+
static loadClasses(entrypoints: string[]): Promise<object[]>;
|
100
105
|
constructor(config: DBOSConfigInternal, { systemDatabase, debugMode }?: DBOSExecutorOptions);
|
101
106
|
get appName(): string | undefined;
|
102
107
|
init(classes?: object[]): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"dbos-executor.d.ts","sourceRoot":"","sources":["../../src/dbos-executor.ts"],"names":[],"mappings":"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"}
|
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.DBOSExecutor = exports.TempWorkflowType = exports.OperationType = exports.DBOS_QUEUE_MAX_PRIORITY = exports.DBOS_QUEUE_MIN_PRIORITY =
|
29
|
+
exports.DBOSExecutor = exports.TempWorkflowType = exports.OperationType = exports.DBOS_QUEUE_MAX_PRIORITY = exports.DBOS_QUEUE_MIN_PRIORITY = void 0;
|
30
30
|
const error_1 = require("./error");
|
31
31
|
const workflow_1 = require("./workflow");
|
32
32
|
const transaction_1 = require("./transaction");
|
@@ -45,6 +45,8 @@ const context_1 = require("./context");
|
|
45
45
|
const serialize_error_1 = require("serialize-error");
|
46
46
|
const utils_1 = require("./utils");
|
47
47
|
const node_path_1 = __importDefault(require("node:path"));
|
48
|
+
const node_fs_1 = __importDefault(require("node:fs"));
|
49
|
+
const url_1 = require("url");
|
48
50
|
const _1 = require(".");
|
49
51
|
const wfqueue_1 = require("./wfqueue");
|
50
52
|
const debugpoint_1 = require("./debugpoint");
|
@@ -52,7 +54,7 @@ const scheduler_1 = require("./scheduler/scheduler");
|
|
52
54
|
const crypto = __importStar(require("crypto"));
|
53
55
|
const workflow_management_1 = require("./dbos-runtime/workflow_management");
|
54
56
|
const utils_2 = require("./utils");
|
55
|
-
|
57
|
+
const dbosNull = {};
|
56
58
|
exports.DBOS_QUEUE_MIN_PRIORITY = 1;
|
57
59
|
exports.DBOS_QUEUE_MAX_PRIORITY = 2 ** 31 - 1; // 2,147,483,647
|
58
60
|
exports.OperationType = {
|
@@ -92,6 +94,35 @@ class DBOSExecutor {
|
|
92
94
|
#wfqEnded = undefined;
|
93
95
|
executorID = utils_1.globalParams.executorID;
|
94
96
|
static globalInstance = undefined;
|
97
|
+
static async loadClasses(entrypoints) {
|
98
|
+
const allClasses = [];
|
99
|
+
for (const entrypoint of entrypoints) {
|
100
|
+
const operations = node_path_1.default.isAbsolute(entrypoint) ? entrypoint : node_path_1.default.join(process.cwd(), entrypoint);
|
101
|
+
let exports;
|
102
|
+
if (node_fs_1.default.existsSync(operations)) {
|
103
|
+
const operationsURL = (0, url_1.pathToFileURL)(operations).href;
|
104
|
+
exports = (await import(operationsURL));
|
105
|
+
}
|
106
|
+
else {
|
107
|
+
throw new error_1.DBOSFailLoadOperationsError(`Failed to load operations from the entrypoint ${entrypoint}`);
|
108
|
+
}
|
109
|
+
const classes = [];
|
110
|
+
for (const key in exports) {
|
111
|
+
const $export = exports[key];
|
112
|
+
if (isObject($export)) {
|
113
|
+
classes.push($export);
|
114
|
+
}
|
115
|
+
}
|
116
|
+
allClasses.push(...classes);
|
117
|
+
}
|
118
|
+
if (allClasses.length === 0) {
|
119
|
+
throw new error_1.DBOSFailLoadOperationsError('operations not found');
|
120
|
+
}
|
121
|
+
return allClasses;
|
122
|
+
function isObject(value) {
|
123
|
+
return typeof value === 'function' || (typeof value === 'object' && value !== null);
|
124
|
+
}
|
125
|
+
}
|
95
126
|
/* WORKFLOW EXECUTOR LIFE CYCLE MANAGEMENT */
|
96
127
|
constructor(config, { systemDatabase, debugMode } = {}) {
|
97
128
|
this.config = config;
|
@@ -632,7 +663,7 @@ class DBOSExecutor {
|
|
632
663
|
}
|
633
664
|
else {
|
634
665
|
const { txn_snapshot } = rows[0];
|
635
|
-
return { result:
|
666
|
+
return { result: dbosNull, txn_snapshot, txn_id: undefined };
|
636
667
|
}
|
637
668
|
}
|
638
669
|
/**
|
@@ -738,13 +769,13 @@ class DBOSExecutor {
|
|
738
769
|
const wrappedTransaction = async (client) => {
|
739
770
|
// If the UUID is preset, it is possible this execution previously happened. Check, and return its original result if it did.
|
740
771
|
// Note: It is possible to retrieve a generated ID from a workflow handle, run a concurrent execution, and cause trouble for yourself. We recommend against this.
|
741
|
-
let prevResult =
|
772
|
+
let prevResult = dbosNull;
|
742
773
|
const queryFunc = (sql, args) => userDB.queryWithClient(client, sql, ...args);
|
743
774
|
if (pctx.presetID) {
|
744
775
|
const executionResult = await this.#checkExecution(queryFunc, wfid, funcId, txn.name);
|
745
776
|
prevResult = executionResult.result;
|
746
777
|
txn_snapshot = executionResult.txn_snapshot;
|
747
|
-
if (prevResult !==
|
778
|
+
if (prevResult !== dbosNull) {
|
748
779
|
prevResultFound = true;
|
749
780
|
span.setAttribute('cached', true);
|
750
781
|
// Return/throw the previous result
|
@@ -760,7 +791,7 @@ class DBOSExecutor {
|
|
760
791
|
// Collect snapshot information for read-only transactions and non-preset UUID transactions, if not already collected above
|
761
792
|
txn_snapshot = await DBOSExecutor.#retrieveSnapshot(queryFunc);
|
762
793
|
}
|
763
|
-
if (this.#debugMode && prevResult ===
|
794
|
+
if (this.#debugMode && prevResult === dbosNull) {
|
764
795
|
throw new error_1.DBOSDebuggerError(`Failed to find the recorded output for the transaction: workflow UUID ${wfid}, step number ${funcId}`);
|
765
796
|
}
|
766
797
|
// Execute the user's transaction.
|
@@ -912,13 +943,13 @@ class DBOSExecutor {
|
|
912
943
|
await this.systemDatabase.checkIfCanceled(wfid);
|
913
944
|
let txn_snapshot = 'invalid';
|
914
945
|
const wrappedProcedure = async (client) => {
|
915
|
-
let prevResult =
|
946
|
+
let prevResult = dbosNull;
|
916
947
|
const queryFunc = (sql, args) => procPool.query(sql, args).then((v) => v.rows);
|
917
948
|
if (pctx.presetID) {
|
918
949
|
const executionResult = await this.#checkExecution(queryFunc, wfid, funcId, proc.name);
|
919
950
|
prevResult = executionResult.result;
|
920
951
|
txn_snapshot = executionResult.txn_snapshot;
|
921
|
-
if (prevResult !==
|
952
|
+
if (prevResult !== dbosNull) {
|
922
953
|
span.setAttribute('cached', true);
|
923
954
|
// Return/throw the previous result
|
924
955
|
if (prevResult instanceof Error) {
|
@@ -933,7 +964,7 @@ class DBOSExecutor {
|
|
933
964
|
// Collect snapshot information for read-only transactions and non-preset UUID transactions, if not already collected above
|
934
965
|
txn_snapshot = await DBOSExecutor.#retrieveSnapshot(queryFunc);
|
935
966
|
}
|
936
|
-
if (this.#debugMode && prevResult ===
|
967
|
+
if (this.#debugMode && prevResult === dbosNull) {
|
937
968
|
throw new error_1.DBOSDebuggerError(`Failed to find the recorded output for the procedure: workflow UUID ${wfid}, step number ${funcId}`);
|
938
969
|
}
|
939
970
|
// Execute the user's transaction.
|
@@ -1158,8 +1189,8 @@ class DBOSExecutor {
|
|
1158
1189
|
const maxAttempts = stepConfig.maxAttempts ?? 3;
|
1159
1190
|
// Execute the step function. If it throws an exception, retry with exponential backoff.
|
1160
1191
|
// After reaching the maximum number of retries, throw an DBOSError.
|
1161
|
-
let result =
|
1162
|
-
let err =
|
1192
|
+
let result = dbosNull;
|
1193
|
+
let err = dbosNull;
|
1163
1194
|
const errors = [];
|
1164
1195
|
if (stepConfig.retriesAllowed) {
|
1165
1196
|
let attemptNum = 0;
|
@@ -1167,7 +1198,7 @@ class DBOSExecutor {
|
|
1167
1198
|
if (intervalSeconds > maxRetryIntervalSec) {
|
1168
1199
|
this.logger.warn(`Step config interval exceeds maximum allowed interval, capped to ${maxRetryIntervalSec} seconds!`);
|
1169
1200
|
}
|
1170
|
-
while (result ===
|
1201
|
+
while (result === dbosNull && attemptNum++ < (maxAttempts ?? 3)) {
|
1171
1202
|
try {
|
1172
1203
|
await this.systemDatabase.checkIfCanceled(wfid);
|
1173
1204
|
let cresult;
|
@@ -1208,9 +1239,9 @@ class DBOSExecutor {
|
|
1208
1239
|
}
|
1209
1240
|
}
|
1210
1241
|
// `result` can only be dbosNull when the step timed out
|
1211
|
-
if (result ===
|
1242
|
+
if (result === dbosNull) {
|
1212
1243
|
// Record the error, then throw it.
|
1213
|
-
err = err ===
|
1244
|
+
err = err === dbosNull ? new error_1.DBOSMaxStepRetriesError(stepFnName, maxAttempts, errors) : err;
|
1214
1245
|
await this.systemDatabase.recordOperationResult(wfid, funcID, stepFnName, true, {
|
1215
1246
|
error: utils_1.DBOSJSON.stringify((0, serialize_error_1.serializeError)(err)),
|
1216
1247
|
});
|