@memberjunction/generic-database-provider 6.1.2 → 6.1.3
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/dist/GenericDatabaseProvider.d.ts +76 -4
- package/dist/GenericDatabaseProvider.d.ts.map +1 -1
- package/dist/GenericDatabaseProvider.js +189 -12
- package/dist/GenericDatabaseProvider.js.map +1 -1
- package/dist/TransactionFrameTracker.d.ts +72 -0
- package/dist/TransactionFrameTracker.d.ts.map +1 -0
- package/dist/TransactionFrameTracker.js +130 -0
- package/dist/TransactionFrameTracker.js.map +1 -0
- package/package.json +14 -14
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*
|
|
16
16
|
* @module @memberjunction/generic-database-provider
|
|
17
17
|
*/
|
|
18
|
-
import { BaseEntity, DatabaseProviderBase, EntityInfo, EntityFieldInfo, EntitySaveOptions, EntityDeleteOptions, EntityPermissionType, ILocalStorageProvider, RunViewParams, RunViewResult, RunViewWithCacheCheckParams, RunViewsWithCacheCheckResponse, RunViewWithCacheCheckResult, RunQueryParams, RunQueryResult, RunQueryWithCacheCheckParams, RunQueriesWithCacheCheckResponse, RunQueryWithCacheCheckResult, QueryCacheAuthorization, CompositeKey, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, IMetadataProvider, UserInfo, QueryExecutionSpec, SaveContext, SaveSQLResult, ExternalDataSourceReadRouter } from '@memberjunction/core';
|
|
18
|
+
import { BaseEntity, DatabaseProviderBase, EntityInfo, EntityFieldInfo, EntitySaveOptions, EntityDeleteOptions, EntityPermissionType, ILocalStorageProvider, RunViewParams, RunViewResult, RunViewWithCacheCheckParams, RunViewsWithCacheCheckResponse, RunViewWithCacheCheckResult, RunQueryParams, RunQueryResult, RunQueryWithCacheCheckParams, RunQueriesWithCacheCheckResponse, RunQueryWithCacheCheckResult, QueryCacheAuthorization, CompositeKey, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, IMetadataProvider, UserInfo, PostCommitTask, PostCommitToken, QueryExecutionSpec, SaveContext, SaveSQLResult, ExternalDataSourceReadRouter } from '@memberjunction/core';
|
|
19
19
|
import { SqlLoggingOptions, SqlLoggingSession } from './types.js';
|
|
20
20
|
import { SQLDialect } from '@memberjunction/sql-dialect';
|
|
21
21
|
import { type RenderResult } from './renderPipeline.js';
|
|
@@ -231,8 +231,11 @@ export declare abstract class GenericDatabaseProvider extends DatabaseProviderBa
|
|
|
231
231
|
* Enqueues an after-save AI action for execution. By default, immediately adds
|
|
232
232
|
* to QueueManager. Subclasses with transaction support can override to defer
|
|
233
233
|
* until after transaction commit.
|
|
234
|
+
*
|
|
235
|
+
* @param _postCommitToken The transaction frames open when the save dispatched this action,
|
|
236
|
+
* captured before any `await` — pass it to {@link RunAfterCommit} when deferring.
|
|
234
237
|
*/
|
|
235
|
-
protected EnqueueAfterSaveAIAction(params: EntityAIActionParams, user: UserInfo): void;
|
|
238
|
+
protected EnqueueAfterSaveAIAction(params: EntityAIActionParams, user: UserInfo, _postCommitToken?: PostCommitToken): void;
|
|
236
239
|
/**************************************************************************/
|
|
237
240
|
/**************************************************************************/
|
|
238
241
|
protected OnValidateBeforeSave(entity: BaseEntity, user: UserInfo): Promise<string | null>;
|
|
@@ -1339,6 +1342,21 @@ export declare abstract class GenericDatabaseProvider extends DatabaseProviderBa
|
|
|
1339
1342
|
* throwing 'No active transaction to rollback' on top of the real error (#4447).
|
|
1340
1343
|
*/
|
|
1341
1344
|
private _abandonedByFailedCommit;
|
|
1345
|
+
/**
|
|
1346
|
+
* Work waiting for the outermost commit (see {@link RunAfterCommit}). `Depth` is the frame that
|
|
1347
|
+
* currently owns the entry: a savepoint rollback drops the entries its frame owns, a savepoint
|
|
1348
|
+
* release hands them to the enclosing frame.
|
|
1349
|
+
*/
|
|
1350
|
+
private _postCommitTasks;
|
|
1351
|
+
/**
|
|
1352
|
+
* Tasks whose own transaction already settled, held back because an UNRELATED transaction is
|
|
1353
|
+
* open on this instance. Running them now would enlist their writes in it — on one connection,
|
|
1354
|
+
* that means a rollback of work that has nothing to do with them. Drained when this provider
|
|
1355
|
+
* goes idle, whichever way that transaction ends.
|
|
1356
|
+
*/
|
|
1357
|
+
private _idlePostCommitTasks;
|
|
1358
|
+
/** Identity of each open frame and the fate of recent transactions, for {@link PostCommitToken}s. */
|
|
1359
|
+
private readonly _frameTracker;
|
|
1342
1360
|
protected get CurrentTransactionDepth(): number;
|
|
1343
1361
|
/** Copy of the savepoint stack, outermost first. */
|
|
1344
1362
|
get SavepointStack(): string[];
|
|
@@ -1384,8 +1402,55 @@ export declare abstract class GenericDatabaseProvider extends DatabaseProviderBa
|
|
|
1384
1402
|
/** Serialize begin/commit/rollback so depth/stack mutations cannot interleave. */
|
|
1385
1403
|
protected WithTransactionLock<T>(fn: () => Promise<T>): Promise<T>;
|
|
1386
1404
|
/**
|
|
1387
|
-
*
|
|
1388
|
-
*
|
|
1405
|
+
* Queue `task` until the outermost commit of the ambient transaction, or start it now when
|
|
1406
|
+
* there is none. See {@link DatabaseProviderBase.RunAfterCommit} for the contract.
|
|
1407
|
+
*
|
|
1408
|
+
* - Queued tasks run once, in registration order, after the outermost commit succeeds and the
|
|
1409
|
+
* transaction lock is released — so a task may begin its own transaction. The committer
|
|
1410
|
+
* awaits them; a failing task is logged and does not stop later tasks or reject the commit.
|
|
1411
|
+
* - Outermost rollback, a failed commit, a doomed/abandoned handle, and
|
|
1412
|
+
* {@link ResetTransactionState} discard the queue.
|
|
1413
|
+
* - A savepoint release keeps its tasks (they now belong to the enclosing frame); a savepoint
|
|
1414
|
+
* rollback discards only the tasks registered inside that savepoint.
|
|
1415
|
+
* - With a `token`, the task follows the transaction the token was captured in: it runs once
|
|
1416
|
+
* that transaction has committed; it is dropped if that transaction, or any savepoint the
|
|
1417
|
+
* token was captured in, rolled back — including a savepoint rolled back inside a transaction
|
|
1418
|
+
* that went on to commit — or if the token matches nothing this provider knows; otherwise it
|
|
1419
|
+
* is queued at the deepest captured frame that is still open. A token captured outside any
|
|
1420
|
+
* transaction always runs. "Runs" means immediately when this provider is idle, and otherwise
|
|
1421
|
+
* once it is: a task must never have its own writes rolled back by an unrelated transaction.
|
|
1422
|
+
*/
|
|
1423
|
+
RunAfterCommit(task: PostCommitTask, description?: string, token?: PostCommitToken): void;
|
|
1424
|
+
/**
|
|
1425
|
+
* Snapshot of the open transaction frames. Synchronous, and never `undefined` on this provider:
|
|
1426
|
+
* outside a transaction it returns a token whose epoch is `null`, which says the work is already
|
|
1427
|
+
* durable rather than saying nothing. See {@link DatabaseProviderBase.CapturePostCommitToken}.
|
|
1428
|
+
*/
|
|
1429
|
+
CapturePostCommitToken(): PostCommitToken;
|
|
1430
|
+
private registerPostCommitTaskWithToken;
|
|
1431
|
+
/** Number of tasks waiting for the outermost commit. */
|
|
1432
|
+
get PendingPostCommitTaskCount(): number;
|
|
1433
|
+
/** Number of tasks waiting only for this provider to go idle. */
|
|
1434
|
+
get PendingIdlePostCommitTaskCount(): number;
|
|
1435
|
+
/**
|
|
1436
|
+
* Run work whose own transaction has already settled. Immediate when this provider is idle;
|
|
1437
|
+
* otherwise held until it is, so the task's writes cannot join — and be rolled back with — a
|
|
1438
|
+
* transaction it has nothing to do with.
|
|
1439
|
+
*/
|
|
1440
|
+
private runDetachedTask;
|
|
1441
|
+
/** Run everything that was waiting for this provider to go idle. Never throws. */
|
|
1442
|
+
private drainIdlePostCommitTasks;
|
|
1443
|
+
/** Run tasks detached from a committed transaction, one at a time, in order. Never throws. */
|
|
1444
|
+
private runPostCommitTasks;
|
|
1445
|
+
/** Detach the whole queue (outermost commit succeeded). */
|
|
1446
|
+
private takePostCommitTasks;
|
|
1447
|
+
/** Drop every task owned by `depth` or deeper; they belonged to work that will never commit. */
|
|
1448
|
+
private discardPostCommitTasks;
|
|
1449
|
+
/** A released savepoint's tasks now belong to the enclosing frame. */
|
|
1450
|
+
private promotePostCommitTasks;
|
|
1451
|
+
/**
|
|
1452
|
+
* After a successful outermost commit, once depth is 0, the transaction lock is released, and
|
|
1453
|
+
* the {@link RunAfterCommit} queue has been drained. Subclass hook; no-op by default.
|
|
1389
1454
|
*/
|
|
1390
1455
|
protected AfterPhysicalCommit(): Promise<void>;
|
|
1391
1456
|
/** Called when a begin fails and depth is back to 0 — unpublish any leftover driver object. */
|
|
@@ -1413,6 +1478,9 @@ export declare abstract class GenericDatabaseProvider extends DatabaseProviderBa
|
|
|
1413
1478
|
*/
|
|
1414
1479
|
private isDoomedPhysicalTransactionError;
|
|
1415
1480
|
private abandonDoomedTransaction;
|
|
1481
|
+
/**
|
|
1482
|
+
* Returns the post-commit tasks detached by a successful outermost commit; empty otherwise.
|
|
1483
|
+
*/
|
|
1416
1484
|
private commitTransactionCore;
|
|
1417
1485
|
private rollbackTransactionCore;
|
|
1418
1486
|
/**
|
|
@@ -1421,6 +1489,10 @@ export declare abstract class GenericDatabaseProvider extends DatabaseProviderBa
|
|
|
1421
1489
|
*/
|
|
1422
1490
|
private popDoomedFrame;
|
|
1423
1491
|
private clearSavepointState;
|
|
1492
|
+
/**
|
|
1493
|
+
* Back to depth 0. A successful commit detaches the post-commit queue first, so anything still
|
|
1494
|
+
* queued here belongs to a transaction that rolled back, failed, or was abandoned.
|
|
1495
|
+
*/
|
|
1424
1496
|
private clearTransactionState;
|
|
1425
1497
|
}
|
|
1426
1498
|
//# sourceMappingURL=GenericDatabaseProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericDatabaseProvider.d.ts","sourceRoot":"","sources":["../src/GenericDatabaseProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GenericDatabaseProvider.d.ts","sourceRoot":"","sources":["../src/GenericDatabaseProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ import { SimpleVectorServiceProvider } from '@memberjunction/ai-vectors-memory';
|
|
|
33
33
|
import { QueueManager } from '@memberjunction/queue';
|
|
34
34
|
import { BuildEntityActionDispatchKey, EntityActionDispatchGuard, EntityActionEngineServer } from '@memberjunction/actions';
|
|
35
35
|
import { BuildEntityChangeContext } from '@memberjunction/actions-base';
|
|
36
|
+
import { TransactionFrameTracker } from './TransactionFrameTracker.js';
|
|
36
37
|
import { EncryptionEngine } from '@memberjunction/encryption';
|
|
37
38
|
import { GeoCodeSyncService } from '@memberjunction/geo-core';
|
|
38
39
|
/**
|
|
@@ -82,6 +83,21 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
82
83
|
* throwing 'No active transaction to rollback' on top of the real error (#4447).
|
|
83
84
|
*/
|
|
84
85
|
this._abandonedByFailedCommit = false;
|
|
86
|
+
/**
|
|
87
|
+
* Work waiting for the outermost commit (see {@link RunAfterCommit}). `Depth` is the frame that
|
|
88
|
+
* currently owns the entry: a savepoint rollback drops the entries its frame owns, a savepoint
|
|
89
|
+
* release hands them to the enclosing frame.
|
|
90
|
+
*/
|
|
91
|
+
this._postCommitTasks = [];
|
|
92
|
+
/**
|
|
93
|
+
* Tasks whose own transaction already settled, held back because an UNRELATED transaction is
|
|
94
|
+
* open on this instance. Running them now would enlist their writes in it — on one connection,
|
|
95
|
+
* that means a rollback of work that has nothing to do with them. Drained when this provider
|
|
96
|
+
* goes idle, whichever way that transaction ends.
|
|
97
|
+
*/
|
|
98
|
+
this._idlePostCommitTasks = [];
|
|
99
|
+
/** Identity of each open frame and the fate of recent transactions, for {@link PostCommitToken}s. */
|
|
100
|
+
this._frameTracker = new TransactionFrameTracker();
|
|
85
101
|
this._txMutex = Promise.resolve();
|
|
86
102
|
}
|
|
87
103
|
/**
|
|
@@ -350,6 +366,10 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
350
366
|
// built any later would report that nothing changed. Everything below this line may yield;
|
|
351
367
|
// nothing above it does.
|
|
352
368
|
const entityChange = BuildEntityChangeContext(entity);
|
|
369
|
+
// Same reason: by the first `await` the save's transaction may already have committed or
|
|
370
|
+
// rolled back. The token ties a Durable After* run to the transaction that caused it, so a
|
|
371
|
+
// rolled-back save never fires it (see RunAfterCommit).
|
|
372
|
+
const postCommitToken = this.CapturePostCommitToken();
|
|
353
373
|
try {
|
|
354
374
|
const engine = EntityActionEngineServer.Instance;
|
|
355
375
|
await engine.Config(false, user);
|
|
@@ -383,6 +403,7 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
383
403
|
InvocationType: invocationTypeEntity,
|
|
384
404
|
ContextUser: user,
|
|
385
405
|
EntityChange: entityChange,
|
|
406
|
+
PostCommitToken: postCommitToken,
|
|
386
407
|
});
|
|
387
408
|
// null means the binding is scoped (ScopeEntityID/ScopeRecordID) and this record falls
|
|
388
409
|
// outside it — the action never ran, so there is no result to report.
|
|
@@ -414,6 +435,9 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
414
435
|
* until after transaction commit (see SQLServerDataProvider).
|
|
415
436
|
*/
|
|
416
437
|
async HandleEntityAIActions(entity, baseType, before, user) {
|
|
438
|
+
// Before the first `await`: after-save dispatch is fire-and-forget, so by the time the task
|
|
439
|
+
// is enqueued the save's transaction may already have settled. See RunAfterCommit.
|
|
440
|
+
const postCommitToken = this.CapturePostCommitToken();
|
|
417
441
|
try {
|
|
418
442
|
if (baseType === 'delete')
|
|
419
443
|
return; // delete not yet supported for AI actions
|
|
@@ -435,7 +459,7 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
435
459
|
}
|
|
436
460
|
else {
|
|
437
461
|
try {
|
|
438
|
-
this.EnqueueAfterSaveAIAction(p, user);
|
|
462
|
+
this.EnqueueAfterSaveAIAction(p, user, postCommitToken);
|
|
439
463
|
}
|
|
440
464
|
catch (e) {
|
|
441
465
|
LogError(e instanceof Error ? e.message : String(e));
|
|
@@ -453,8 +477,11 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
453
477
|
* Enqueues an after-save AI action for execution. By default, immediately adds
|
|
454
478
|
* to QueueManager. Subclasses with transaction support can override to defer
|
|
455
479
|
* until after transaction commit.
|
|
480
|
+
*
|
|
481
|
+
* @param _postCommitToken The transaction frames open when the save dispatched this action,
|
|
482
|
+
* captured before any `await` — pass it to {@link RunAfterCommit} when deferring.
|
|
456
483
|
*/
|
|
457
|
-
EnqueueAfterSaveAIAction(params, user) {
|
|
484
|
+
EnqueueAfterSaveAIAction(params, user, _postCommitToken) {
|
|
458
485
|
QueueManager.AddTask('Entity AI Action', params, null, user);
|
|
459
486
|
}
|
|
460
487
|
/**************************************************************************/
|
|
@@ -4900,8 +4927,132 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
4900
4927
|
}
|
|
4901
4928
|
}
|
|
4902
4929
|
/**
|
|
4903
|
-
*
|
|
4904
|
-
*
|
|
4930
|
+
* Queue `task` until the outermost commit of the ambient transaction, or start it now when
|
|
4931
|
+
* there is none. See {@link DatabaseProviderBase.RunAfterCommit} for the contract.
|
|
4932
|
+
*
|
|
4933
|
+
* - Queued tasks run once, in registration order, after the outermost commit succeeds and the
|
|
4934
|
+
* transaction lock is released — so a task may begin its own transaction. The committer
|
|
4935
|
+
* awaits them; a failing task is logged and does not stop later tasks or reject the commit.
|
|
4936
|
+
* - Outermost rollback, a failed commit, a doomed/abandoned handle, and
|
|
4937
|
+
* {@link ResetTransactionState} discard the queue.
|
|
4938
|
+
* - A savepoint release keeps its tasks (they now belong to the enclosing frame); a savepoint
|
|
4939
|
+
* rollback discards only the tasks registered inside that savepoint.
|
|
4940
|
+
* - With a `token`, the task follows the transaction the token was captured in: it runs once
|
|
4941
|
+
* that transaction has committed; it is dropped if that transaction, or any savepoint the
|
|
4942
|
+
* token was captured in, rolled back — including a savepoint rolled back inside a transaction
|
|
4943
|
+
* that went on to commit — or if the token matches nothing this provider knows; otherwise it
|
|
4944
|
+
* is queued at the deepest captured frame that is still open. A token captured outside any
|
|
4945
|
+
* transaction always runs. "Runs" means immediately when this provider is idle, and otherwise
|
|
4946
|
+
* once it is: a task must never have its own writes rolled back by an unrelated transaction.
|
|
4947
|
+
*/
|
|
4948
|
+
RunAfterCommit(task, description = 'post-commit task', token) {
|
|
4949
|
+
if (token) {
|
|
4950
|
+
this.registerPostCommitTaskWithToken(task, description, token);
|
|
4951
|
+
return;
|
|
4952
|
+
}
|
|
4953
|
+
if (this._transactionDepth === 0 && !this.HasPhysicalTransaction) {
|
|
4954
|
+
super.RunAfterCommit(task, description);
|
|
4955
|
+
return;
|
|
4956
|
+
}
|
|
4957
|
+
this._postCommitTasks.push({ Task: task, Description: description, Depth: this._transactionDepth });
|
|
4958
|
+
}
|
|
4959
|
+
/**
|
|
4960
|
+
* Snapshot of the open transaction frames. Synchronous, and never `undefined` on this provider:
|
|
4961
|
+
* outside a transaction it returns a token whose epoch is `null`, which says the work is already
|
|
4962
|
+
* durable rather than saying nothing. See {@link DatabaseProviderBase.CapturePostCommitToken}.
|
|
4963
|
+
*/
|
|
4964
|
+
CapturePostCommitToken() {
|
|
4965
|
+
return this._frameTracker.Capture();
|
|
4966
|
+
}
|
|
4967
|
+
registerPostCommitTaskWithToken(task, description, token) {
|
|
4968
|
+
const resolution = this._frameTracker.Resolve(token, this._doomed);
|
|
4969
|
+
switch (resolution.Kind) {
|
|
4970
|
+
case 'run':
|
|
4971
|
+
this.runDetachedTask(task, description);
|
|
4972
|
+
return;
|
|
4973
|
+
case 'queue':
|
|
4974
|
+
this._postCommitTasks.push({ Task: task, Description: description, Depth: resolution.Depth });
|
|
4975
|
+
return;
|
|
4976
|
+
case 'drop':
|
|
4977
|
+
if (resolution.Unknown) {
|
|
4978
|
+
// Not a rollback: durable work is being dropped because its transaction cannot be
|
|
4979
|
+
// identified. That is data loss, so it must not read as routine housekeeping.
|
|
4980
|
+
LogError(`Dropped post-commit task '${description}': ${resolution.Reason}`);
|
|
4981
|
+
}
|
|
4982
|
+
else {
|
|
4983
|
+
LogStatus(`Dropped post-commit task '${description}': ${resolution.Reason}`);
|
|
4984
|
+
}
|
|
4985
|
+
return;
|
|
4986
|
+
}
|
|
4987
|
+
}
|
|
4988
|
+
/** Number of tasks waiting for the outermost commit. */
|
|
4989
|
+
get PendingPostCommitTaskCount() {
|
|
4990
|
+
return this._postCommitTasks.length;
|
|
4991
|
+
}
|
|
4992
|
+
/** Number of tasks waiting only for this provider to go idle. */
|
|
4993
|
+
get PendingIdlePostCommitTaskCount() {
|
|
4994
|
+
return this._idlePostCommitTasks.length;
|
|
4995
|
+
}
|
|
4996
|
+
/**
|
|
4997
|
+
* Run work whose own transaction has already settled. Immediate when this provider is idle;
|
|
4998
|
+
* otherwise held until it is, so the task's writes cannot join — and be rolled back with — a
|
|
4999
|
+
* transaction it has nothing to do with.
|
|
5000
|
+
*/
|
|
5001
|
+
runDetachedTask(task, description) {
|
|
5002
|
+
if (this._transactionDepth === 0 && !this.HasPhysicalTransaction) {
|
|
5003
|
+
super.RunAfterCommit(task, description);
|
|
5004
|
+
return;
|
|
5005
|
+
}
|
|
5006
|
+
this._idlePostCommitTasks.push({ Task: task, Description: description, Depth: 0 });
|
|
5007
|
+
}
|
|
5008
|
+
/** Run everything that was waiting for this provider to go idle. Never throws. */
|
|
5009
|
+
async drainIdlePostCommitTasks() {
|
|
5010
|
+
if (this._idlePostCommitTasks.length === 0 || this._transactionDepth > 0 || this.HasPhysicalTransaction) {
|
|
5011
|
+
return;
|
|
5012
|
+
}
|
|
5013
|
+
const tasks = this._idlePostCommitTasks;
|
|
5014
|
+
this._idlePostCommitTasks = [];
|
|
5015
|
+
LogStatus(`Running ${tasks.length} post-commit task(s) held back by an unrelated transaction`);
|
|
5016
|
+
for (const entry of tasks) {
|
|
5017
|
+
await this.RunPostCommitTaskSafely(entry.Task, entry.Description);
|
|
5018
|
+
}
|
|
5019
|
+
}
|
|
5020
|
+
/** Run tasks detached from a committed transaction, one at a time, in order. Never throws. */
|
|
5021
|
+
async runPostCommitTasks(tasks) {
|
|
5022
|
+
if (tasks.length === 0) {
|
|
5023
|
+
return;
|
|
5024
|
+
}
|
|
5025
|
+
LogStatus(`Running ${tasks.length} post-commit task(s) after transaction commit`);
|
|
5026
|
+
for (const entry of tasks) {
|
|
5027
|
+
await this.RunPostCommitTaskSafely(entry.Task, entry.Description);
|
|
5028
|
+
}
|
|
5029
|
+
}
|
|
5030
|
+
/** Detach the whole queue (outermost commit succeeded). */
|
|
5031
|
+
takePostCommitTasks() {
|
|
5032
|
+
const tasks = this._postCommitTasks;
|
|
5033
|
+
this._postCommitTasks = [];
|
|
5034
|
+
return tasks;
|
|
5035
|
+
}
|
|
5036
|
+
/** Drop every task owned by `depth` or deeper; they belonged to work that will never commit. */
|
|
5037
|
+
discardPostCommitTasks(depth, reason) {
|
|
5038
|
+
const kept = this._postCommitTasks.filter((entry) => entry.Depth < depth);
|
|
5039
|
+
const dropped = this._postCommitTasks.length - kept.length;
|
|
5040
|
+
this._postCommitTasks = kept;
|
|
5041
|
+
if (dropped > 0) {
|
|
5042
|
+
LogStatus(`Cleared ${dropped} post-commit task(s): ${reason}`);
|
|
5043
|
+
}
|
|
5044
|
+
}
|
|
5045
|
+
/** A released savepoint's tasks now belong to the enclosing frame. */
|
|
5046
|
+
promotePostCommitTasks(releasedDepth) {
|
|
5047
|
+
for (const entry of this._postCommitTasks) {
|
|
5048
|
+
if (entry.Depth >= releasedDepth) {
|
|
5049
|
+
entry.Depth = releasedDepth - 1;
|
|
5050
|
+
}
|
|
5051
|
+
}
|
|
5052
|
+
}
|
|
5053
|
+
/**
|
|
5054
|
+
* After a successful outermost commit, once depth is 0, the transaction lock is released, and
|
|
5055
|
+
* the {@link RunAfterCommit} queue has been drained. Subclass hook; no-op by default.
|
|
4905
5056
|
*/
|
|
4906
5057
|
async AfterPhysicalCommit() {
|
|
4907
5058
|
/* no-op */
|
|
@@ -4921,6 +5072,8 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
4921
5072
|
}
|
|
4922
5073
|
markDoomed() {
|
|
4923
5074
|
this._doomed = true;
|
|
5075
|
+
// A doomed transaction can never commit, so nothing queued for its commit may run.
|
|
5076
|
+
this.discardPostCommitTasks(0, 'the ambient transaction was abandoned');
|
|
4924
5077
|
}
|
|
4925
5078
|
/**
|
|
4926
5079
|
* Drop a dead physical handle and reset depth/stack. Safe to call when
|
|
@@ -4929,29 +5082,34 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
4929
5082
|
*/
|
|
4930
5083
|
async ResetTransactionState() {
|
|
4931
5084
|
await this.WithTransactionLock(() => this.abandonDoomedTransaction());
|
|
5085
|
+
await this.drainIdlePostCommitTasks();
|
|
4932
5086
|
}
|
|
4933
5087
|
async BeginTransaction() {
|
|
4934
5088
|
return this.WithTransactionLock(() => this.beginTransactionCore());
|
|
4935
5089
|
}
|
|
4936
5090
|
async CommitTransaction() {
|
|
4937
|
-
|
|
4938
|
-
await this.WithTransactionLock(async () => {
|
|
5091
|
+
// null = not the outermost commit, so nothing drains and the subclass hook does not run.
|
|
5092
|
+
const committedTasks = await this.WithTransactionLock(async () => {
|
|
4939
5093
|
const outermost = this._transactionDepth === 1;
|
|
4940
|
-
await this.commitTransactionCore();
|
|
4941
|
-
|
|
5094
|
+
const tasks = await this.commitTransactionCore();
|
|
5095
|
+
return outermost ? tasks : null;
|
|
4942
5096
|
});
|
|
4943
|
-
if (
|
|
5097
|
+
if (committedTasks) {
|
|
5098
|
+
await this.runPostCommitTasks(committedTasks);
|
|
4944
5099
|
await this.AfterPhysicalCommit();
|
|
4945
5100
|
}
|
|
5101
|
+
await this.drainIdlePostCommitTasks();
|
|
4946
5102
|
}
|
|
4947
5103
|
async RollbackTransaction() {
|
|
4948
|
-
|
|
5104
|
+
await this.WithTransactionLock(() => this.rollbackTransactionCore());
|
|
5105
|
+
await this.drainIdlePostCommitTasks();
|
|
4949
5106
|
}
|
|
4950
5107
|
async beginTransactionCore() {
|
|
4951
5108
|
if (this._doomed) {
|
|
4952
5109
|
throw new DoomedTransactionError();
|
|
4953
5110
|
}
|
|
4954
5111
|
this._transactionDepth++;
|
|
5112
|
+
this._frameTracker.PushFrame();
|
|
4955
5113
|
try {
|
|
4956
5114
|
if (this._transactionDepth === 1) {
|
|
4957
5115
|
this._abandonedByFailedCommit = false;
|
|
@@ -4975,6 +5133,8 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
4975
5133
|
catch (e) {
|
|
4976
5134
|
if (this._transactionDepth > 0) {
|
|
4977
5135
|
this._transactionDepth--;
|
|
5136
|
+
// The frame never opened, so it undid nothing; any work captured in it belongs to its parent.
|
|
5137
|
+
this._frameTracker.ReleaseFrame();
|
|
4978
5138
|
}
|
|
4979
5139
|
if (e instanceof DoomedTransactionError || this._doomed) {
|
|
4980
5140
|
throw e;
|
|
@@ -5030,13 +5190,16 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
5030
5190
|
this.clearTransactionState();
|
|
5031
5191
|
await this.OnBeginFailedAtDepthZero();
|
|
5032
5192
|
}
|
|
5193
|
+
/**
|
|
5194
|
+
* Returns the post-commit tasks detached by a successful outermost commit; empty otherwise.
|
|
5195
|
+
*/
|
|
5033
5196
|
async commitTransactionCore() {
|
|
5034
5197
|
if (this._doomed) {
|
|
5035
5198
|
this.popDoomedFrame();
|
|
5036
5199
|
if (this._transactionDepth === 0) {
|
|
5037
5200
|
throw new DoomedTransactionError();
|
|
5038
5201
|
}
|
|
5039
|
-
return;
|
|
5202
|
+
return [];
|
|
5040
5203
|
}
|
|
5041
5204
|
if (!this.HasPhysicalTransaction) {
|
|
5042
5205
|
throw new Error('No active transaction to commit');
|
|
@@ -5055,8 +5218,10 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
5055
5218
|
LogError(e);
|
|
5056
5219
|
throw e;
|
|
5057
5220
|
}
|
|
5221
|
+
this._frameTracker.EndEpoch('committed');
|
|
5222
|
+
const tasks = this.takePostCommitTasks();
|
|
5058
5223
|
this.clearTransactionState();
|
|
5059
|
-
return;
|
|
5224
|
+
return tasks;
|
|
5060
5225
|
}
|
|
5061
5226
|
const savepointName = this._savepointStack[this._savepointStack.length - 1];
|
|
5062
5227
|
if (!savepointName) {
|
|
@@ -5077,8 +5242,11 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
5077
5242
|
throw new DoomedTransactionError(undefined, { cause: e });
|
|
5078
5243
|
}
|
|
5079
5244
|
}
|
|
5245
|
+
this.promotePostCommitTasks(this._transactionDepth);
|
|
5080
5246
|
this._savepointStack.pop();
|
|
5081
5247
|
this._transactionDepth--;
|
|
5248
|
+
this._frameTracker.ReleaseFrame();
|
|
5249
|
+
return [];
|
|
5082
5250
|
}
|
|
5083
5251
|
async rollbackTransactionCore() {
|
|
5084
5252
|
if (this._doomed) {
|
|
@@ -5121,8 +5289,10 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
5121
5289
|
ignoreLogging: true,
|
|
5122
5290
|
});
|
|
5123
5291
|
}
|
|
5292
|
+
this.discardPostCommitTasks(this._transactionDepth, `savepoint ${savepointName} was rolled back`);
|
|
5124
5293
|
this._savepointStack.pop();
|
|
5125
5294
|
this._transactionDepth--;
|
|
5295
|
+
this._frameTracker.RollBackFrame();
|
|
5126
5296
|
}
|
|
5127
5297
|
catch (savepointError) {
|
|
5128
5298
|
await this.HandleFailedSavepointRollback(savepointName, savepointError);
|
|
@@ -5141,15 +5311,22 @@ export class GenericDatabaseProvider extends DatabaseProviderBase {
|
|
|
5141
5311
|
}
|
|
5142
5312
|
this._savepointStack.pop();
|
|
5143
5313
|
this._transactionDepth--;
|
|
5314
|
+
this._frameTracker.RollBackFrame();
|
|
5144
5315
|
}
|
|
5145
5316
|
clearSavepointState() {
|
|
5146
5317
|
this._savepointStack = [];
|
|
5147
5318
|
this._savepointCounter = 0;
|
|
5148
5319
|
}
|
|
5320
|
+
/**
|
|
5321
|
+
* Back to depth 0. A successful commit detaches the post-commit queue first, so anything still
|
|
5322
|
+
* queued here belongs to a transaction that rolled back, failed, or was abandoned.
|
|
5323
|
+
*/
|
|
5149
5324
|
clearTransactionState() {
|
|
5150
5325
|
this._transactionDepth = 0;
|
|
5151
5326
|
this._doomed = false;
|
|
5152
5327
|
this.clearSavepointState();
|
|
5328
|
+
this._frameTracker.EndEpoch('rolledBack');
|
|
5329
|
+
this.discardPostCommitTasks(0, 'the transaction ended without committing');
|
|
5153
5330
|
}
|
|
5154
5331
|
}
|
|
5155
5332
|
//# sourceMappingURL=GenericDatabaseProvider.js.map
|