@harperfast/harper 5.1.20 → 5.1.22
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/resources/DatabaseTransaction.d.ts +28 -0
- package/dist/resources/DatabaseTransaction.js +132 -11
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.js +38 -4
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/Table.js +21 -2
- package/dist/resources/Table.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/resources/DatabaseTransaction.ts +141 -17
- package/resources/LMDBTransaction.ts +38 -8
- package/resources/Table.ts +20 -2
- package/studio/web/assets/{Chat-SdD1EZca.js → Chat-BK_fyjsV.js} +2 -2
- package/studio/web/assets/{Chat-SdD1EZca.js.map → Chat-BK_fyjsV.js.map} +1 -1
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js → FloatingChat-BZ2bqVJF.js} +4 -4
- package/studio/web/assets/{FloatingChat-GMq6tHK9.js.map → FloatingChat-BZ2bqVJF.js.map} +1 -1
- package/studio/web/assets/{applications-B5hhv7uA.js → applications-CPw4VRw-.js} +2 -2
- package/studio/web/assets/{applications-B5hhv7uA.js.map → applications-CPw4VRw-.js.map} +1 -1
- package/studio/web/assets/{index-VFcpNWgq.js → index-DMgwFden.js} +6 -6
- package/studio/web/assets/{index-VFcpNWgq.js.map → index-DMgwFden.js.map} +1 -1
- package/studio/web/assets/{index.lazy-DgcJojIA.js → index.lazy-CbfAMESW.js} +4 -4
- package/studio/web/assets/{index.lazy-DgcJojIA.js.map → index.lazy-CbfAMESW.js.map} +1 -1
- package/studio/web/assets/{profile-BqN-8vzm.js → profile-CwMLqUPI.js} +2 -2
- package/studio/web/assets/{profile-BqN-8vzm.js.map → profile-CwMLqUPI.js.map} +1 -1
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js → setComponentFile-BNTRdRN4.js} +2 -2
- package/studio/web/assets/{setComponentFile-CHFvFq9u.js.map → setComponentFile-BNTRdRN4.js.map} +1 -1
- package/studio/web/assets/{setup-CQ3vWJSr.js → setup-BVsWmrtH.js} +2 -2
- package/studio/web/assets/{setup-CQ3vWJSr.js.map → setup-BVsWmrtH.js.map} +1 -1
- package/studio/web/assets/{status-BsW5fjuh.js → status-gcJRVZMN.js} +2 -2
- package/studio/web/assets/{status-BsW5fjuh.js.map → status-gcJRVZMN.js.map} +1 -1
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js → swagger-ui-react-BxoiwE28.js} +2 -2
- package/studio/web/assets/{swagger-ui-react-DITdeB9-.js.map → swagger-ui-react-BxoiwE28.js.map} +1 -1
- package/studio/web/assets/{tsMode-Dyph-OUs.js → tsMode-CpNrn_Ca.js} +2 -2
- package/studio/web/assets/{tsMode-Dyph-OUs.js.map → tsMode-CpNrn_Ca.js.map} +1 -1
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js → useEntityRestURL-CMTYmJCC.js} +2 -2
- package/studio/web/assets/{useEntityRestURL-D0QTUqex.js.map → useEntityRestURL-CMTYmJCC.js.map} +1 -1
- package/studio/web/index.html +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Transaction as LMDBTransaction } from 'lmdb';
|
|
2
|
+
import { ServerError } from '../utility/errors/hdbError.ts';
|
|
2
3
|
import type { Context, Id } from './ResourceInterface.ts';
|
|
3
4
|
import { Transaction as RocksTransaction } from '@harperfast/rocksdb-js';
|
|
4
5
|
import type { RootDatabaseKind } from './databases.ts';
|
|
@@ -11,6 +12,14 @@ export declare const TRANSACTION_STATE: {
|
|
|
11
12
|
export declare function replicationConfirmation(callback: any): void;
|
|
12
13
|
declare class StartedTransaction extends Error {
|
|
13
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Built when the long-transaction monitor aborts a write-bearing transaction that stayed open past the
|
|
17
|
+
* limit (STORAGE_MAXTRANSACTIONOPENTIME). Surfacing this instead of silently force-committing a partial
|
|
18
|
+
* write set preserves atomicity and avoids the index corruption described in issue #1407: the
|
|
19
|
+
* application gets an actionable error and owns how it splits long-running work into smaller
|
|
20
|
+
* transactions, while core keeps the consistency guarantee.
|
|
21
|
+
*/
|
|
22
|
+
export declare function transactionOpenTooLongError(): ServerError;
|
|
14
23
|
type MaybePromise<T> = T | Promise<T>;
|
|
15
24
|
export type CommitOptions = {
|
|
16
25
|
doneWriting?: boolean;
|
|
@@ -43,6 +52,7 @@ export type TransactionWrite = {
|
|
|
43
52
|
result?: any;
|
|
44
53
|
savedBlobs?: Blob[];
|
|
45
54
|
skipped?: boolean;
|
|
55
|
+
appendedAuditEntry?: boolean;
|
|
46
56
|
};
|
|
47
57
|
type RocksTransactionWithRetry = RocksTransaction & {
|
|
48
58
|
isRetry?: boolean;
|
|
@@ -72,6 +82,7 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
72
82
|
replicatedConfirmation: number;
|
|
73
83
|
sourceApply?: boolean;
|
|
74
84
|
isReplay?: boolean;
|
|
85
|
+
timedOut?: boolean;
|
|
75
86
|
getReadTxn(): ReadTransaction;
|
|
76
87
|
useReadTxn(): ReadTransaction;
|
|
77
88
|
doneReadTxn(): void;
|
|
@@ -84,6 +95,23 @@ export declare class DatabaseTransaction implements Transaction {
|
|
|
84
95
|
*/
|
|
85
96
|
commit(options?: CommitOptions): MaybePromise<CommitResolution>;
|
|
86
97
|
abort(): void;
|
|
98
|
+
/**
|
|
99
|
+
* True if this transaction — or any database in its multi-store `next` chain — has writes accumulated
|
|
100
|
+
* that have not yet been committed. Writes to a second database live on `next` (see txnForContext), so a
|
|
101
|
+
* transaction that reads database A (head, tracked via its read snapshot, empty `writes`) and writes
|
|
102
|
+
* database B (`next`) must still count as write-bearing, or the monitor would misclassify it as read-only
|
|
103
|
+
* and force-commit B's writes via the commit cascade (issue #1407, multi-store path).
|
|
104
|
+
*/
|
|
105
|
+
hasPendingWrites(): boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Abort and poison this transaction because it exceeded the open-transaction limit. The next write or
|
|
108
|
+
* commit throws transactionOpenTooLongError so the request fails cleanly and rolls back, rather than the
|
|
109
|
+
* monitor force-committing a partial write set on the application's behalf (issue #1407). The whole
|
|
110
|
+
* multi-store `next` chain is poisoned and aborted: writes to a second database live on `next`, so
|
|
111
|
+
* leaving it un-poisoned would let the head's commit cascade force-commit them (or orphan its resources
|
|
112
|
+
* until it self-times-out).
|
|
113
|
+
*/
|
|
114
|
+
abortDueToTimeout(): void;
|
|
87
115
|
directCommitSync(): void;
|
|
88
116
|
getContext(): Context;
|
|
89
117
|
setContext(context: any): void;
|
|
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.ImmediateTransaction = exports.DatabaseTransaction = exports.TRANSACTION_STATE = void 0;
|
|
37
37
|
exports.replicationConfirmation = replicationConfirmation;
|
|
38
|
+
exports.transactionOpenTooLongError = transactionOpenTooLongError;
|
|
38
39
|
exports.setTxnExpiration = setTxnExpiration;
|
|
39
40
|
const blob_ts_1 = require("./blob.js");
|
|
40
41
|
const commonUtility_ts_1 = require("../utility/lmdb/commonUtility.js");
|
|
@@ -66,6 +67,19 @@ function replicationConfirmation(callback) {
|
|
|
66
67
|
let txnExpiration = envMngr.get(hdbTerms_ts_1.CONFIG_PARAMS.STORAGE_MAXTRANSACTIONOPENTIME) ?? 30000;
|
|
67
68
|
class StartedTransaction extends Error {
|
|
68
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Built when the long-transaction monitor aborts a write-bearing transaction that stayed open past the
|
|
72
|
+
* limit (STORAGE_MAXTRANSACTIONOPENTIME). Surfacing this instead of silently force-committing a partial
|
|
73
|
+
* write set preserves atomicity and avoids the index corruption described in issue #1407: the
|
|
74
|
+
* application gets an actionable error and owns how it splits long-running work into smaller
|
|
75
|
+
* transactions, while core keeps the consistency guarantee.
|
|
76
|
+
*/
|
|
77
|
+
function transactionOpenTooLongError() {
|
|
78
|
+
// 422 rather than 503: the condition is deterministic for a given transaction shape, so a retryable
|
|
79
|
+
// status (503/408) would invite clients and gateways to auto-retry the same doomed long transaction.
|
|
80
|
+
// 422 signals the request itself must change (split the work), which is the actionable response.
|
|
81
|
+
return new hdbError_ts_1.ServerError('Transaction was aborted after exceeding the open-transaction limit; split long-running work into smaller transactions', 422);
|
|
82
|
+
}
|
|
69
83
|
class DatabaseTransaction {
|
|
70
84
|
#context;
|
|
71
85
|
writes = []; // the set of writes to commit if the conditions are met
|
|
@@ -141,6 +155,8 @@ class DatabaseTransaction {
|
|
|
141
155
|
this.overloadChecked = true; // only check this once, don't interrupt ongoing transactions that have already made writes
|
|
142
156
|
}
|
|
143
157
|
addWrite(operation) {
|
|
158
|
+
if (this.timedOut)
|
|
159
|
+
throw transactionOpenTooLongError();
|
|
144
160
|
this.writes.push(operation);
|
|
145
161
|
if (!operation.deferSave) {
|
|
146
162
|
// Setting saved to false means to defer saving
|
|
@@ -200,6 +216,14 @@ class DatabaseTransaction {
|
|
|
200
216
|
this.completions.push(result);
|
|
201
217
|
}
|
|
202
218
|
operation.commit(txnTime, operation.entry, this.retries > 0, transaction);
|
|
219
|
+
// Sticky record that THIS write staged with its audit entry appended (log entries are written
|
|
220
|
+
// at staging and are not part of the transaction, so they survive an abort). isRetry stagings
|
|
221
|
+
// skip the log write, so they never set it. The retry dedup guards in the commit handler key
|
|
222
|
+
// off this: a launderable proxy (like last attempt's skipped state) breaks under multi-round
|
|
223
|
+
// retries where a recommit round self-skips before a fresh-transaction replay.
|
|
224
|
+
if (!operation.skipped && !transaction.isRetry) {
|
|
225
|
+
operation.appendedAuditEntry = true;
|
|
226
|
+
}
|
|
203
227
|
if (immediateCommit) {
|
|
204
228
|
return this.commit({ transaction }); // immediately commit if the harper transaction is closed
|
|
205
229
|
}
|
|
@@ -208,6 +232,8 @@ class DatabaseTransaction {
|
|
|
208
232
|
* Resolves with information on the timestamp and success of the commit
|
|
209
233
|
*/
|
|
210
234
|
commit(options = {}) {
|
|
235
|
+
if (this.timedOut)
|
|
236
|
+
throw transactionOpenTooLongError();
|
|
211
237
|
let transaction = options.transaction ?? this.transaction; // we need to preserve this transaction as we might to resurrect it if we have to retry
|
|
212
238
|
for (let i = 0; i < this.writes.length; i++) {
|
|
213
239
|
let operation = this.writes[i];
|
|
@@ -341,6 +367,32 @@ class DatabaseTransaction {
|
|
|
341
367
|
// for future transactions
|
|
342
368
|
this.retries++;
|
|
343
369
|
harperLogger.debug?.('retrying', transaction.id, this.retries);
|
|
370
|
+
if (error.code === 'ERR_TRY_AGAIN') {
|
|
371
|
+
// ERR_BUSY recovers on recommit: the save loop re-writes each key, re-tracking it at
|
|
372
|
+
// the current sequence, so validation passes once the contention clears. ERR_TRY_AGAIN
|
|
373
|
+
// never does: the memtable history validation needs is gone (flushed during a
|
|
374
|
+
// bulk-ingest burst), and recommitting re-checks the same stranded snapshot, so it
|
|
375
|
+
// fails forever even on an idle database. A source-apply transaction's uncapped retry
|
|
376
|
+
// then spins for good and wedges the replication apply loop at its commit await,
|
|
377
|
+
// freezing every leg of that database on the node. Replay onto a fresh transaction
|
|
378
|
+
// instead: the save loop reloads each entry through it and re-resolves against
|
|
379
|
+
// current state. Carry over the commit hook the transaction-log store attached
|
|
380
|
+
// (aftercommit emit / structure watermarks; it reads its state off the original
|
|
381
|
+
// transaction object, which abort() leaves intact); isRetry in save() keeps the log
|
|
382
|
+
// entries themselves from being re-added.
|
|
383
|
+
const retryTransaction = new rocksdb_js_1.Transaction((this.writes.find((write) => write)?.store.store ?? this.db.store));
|
|
384
|
+
if (this.timestamp)
|
|
385
|
+
retryTransaction.setTimestamp(this.timestamp);
|
|
386
|
+
retryTransaction.onCommit = transaction.onCommit;
|
|
387
|
+
try {
|
|
388
|
+
transaction.abort();
|
|
389
|
+
}
|
|
390
|
+
catch (abortError) {
|
|
391
|
+
// usually already released by the failed commit; log for the unexpected case
|
|
392
|
+
harperLogger.debug?.('aborting stranded transaction after failed commit', abortError);
|
|
393
|
+
}
|
|
394
|
+
transaction = retryTransaction;
|
|
395
|
+
}
|
|
344
396
|
if (this.retries > 2) {
|
|
345
397
|
// Transactions applying data from a canonical source of truth (replication peer or
|
|
346
398
|
// external caching source) must never drop a write on a transient conflict: there is no
|
|
@@ -351,6 +403,14 @@ class DatabaseTransaction {
|
|
|
351
403
|
const neverDropOnConflict = this.sourceApply;
|
|
352
404
|
if (this.retries > MAX_RETRIES) {
|
|
353
405
|
if (!neverDropOnConflict) {
|
|
406
|
+
// giving up: release the current transaction (original or the fresh replay above)
|
|
407
|
+
// so the throw does not leak its native handle
|
|
408
|
+
try {
|
|
409
|
+
transaction.abort();
|
|
410
|
+
}
|
|
411
|
+
catch (abortError) {
|
|
412
|
+
harperLogger.debug?.('aborting conflicted transaction after exhausting retries', abortError);
|
|
413
|
+
}
|
|
354
414
|
throw new hdbError_ts_1.ServerError(`After ${MAX_RETRIES} retries, unable to commit transaction, transaction is in conflict with ongoing writes`);
|
|
355
415
|
}
|
|
356
416
|
// Uncapped retry can otherwise stall silently (debug logging is off in production);
|
|
@@ -408,6 +468,47 @@ class DatabaseTransaction {
|
|
|
408
468
|
if (this.#context?.resourceCache)
|
|
409
469
|
this.#context.resourceCache = null;
|
|
410
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
* True if this transaction — or any database in its multi-store `next` chain — has writes accumulated
|
|
473
|
+
* that have not yet been committed. Writes to a second database live on `next` (see txnForContext), so a
|
|
474
|
+
* transaction that reads database A (head, tracked via its read snapshot, empty `writes`) and writes
|
|
475
|
+
* database B (`next`) must still count as write-bearing, or the monitor would misclassify it as read-only
|
|
476
|
+
* and force-commit B's writes via the commit cascade (issue #1407, multi-store path).
|
|
477
|
+
*/
|
|
478
|
+
hasPendingWrites() {
|
|
479
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
480
|
+
if (txn.writes.some((write) => write))
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
return false;
|
|
484
|
+
}
|
|
485
|
+
/**
|
|
486
|
+
* Abort and poison this transaction because it exceeded the open-transaction limit. The next write or
|
|
487
|
+
* commit throws transactionOpenTooLongError so the request fails cleanly and rolls back, rather than the
|
|
488
|
+
* monitor force-committing a partial write set on the application's behalf (issue #1407). The whole
|
|
489
|
+
* multi-store `next` chain is poisoned and aborted: writes to a second database live on `next`, so
|
|
490
|
+
* leaving it un-poisoned would let the head's commit cascade force-commit them (or orphan its resources
|
|
491
|
+
* until it self-times-out).
|
|
492
|
+
*/
|
|
493
|
+
abortDueToTimeout() {
|
|
494
|
+
// Poison every link first, then abort each, so a throw from one link's abort() can't leave later links
|
|
495
|
+
// in the chain un-poisoned (and thus eligible to be force-committed by a later commit cascade).
|
|
496
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
497
|
+
txn.timedOut = true;
|
|
498
|
+
// Force the CLOSED path when releasing the read snapshot: doneReadTxn() flushes lingering writes via
|
|
499
|
+
// commit() while open === LINGERING, and commit() now throws transactionOpenTooLongError once poisoned.
|
|
500
|
+
// Closing first makes the release discard (abort) the uncommitted writes instead, which is the intent.
|
|
501
|
+
txn.open = exports.TRANSACTION_STATE.CLOSED;
|
|
502
|
+
}
|
|
503
|
+
for (let txn = this; txn; txn = txn.next) {
|
|
504
|
+
try {
|
|
505
|
+
txn.abort();
|
|
506
|
+
}
|
|
507
|
+
catch (error) {
|
|
508
|
+
harperLogger.debug?.(`Error aborting timed-out transaction in chain: ${error.message}`);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
}
|
|
411
512
|
directCommitSync() {
|
|
412
513
|
trackedTxns.delete(this);
|
|
413
514
|
this.transaction?.commitSync();
|
|
@@ -457,20 +558,40 @@ function startMonitoringTxns() {
|
|
|
457
558
|
for (const txn of trackedTxns) {
|
|
458
559
|
if (txn.timeout <= 0) {
|
|
459
560
|
const url = txn.getContext()?.url;
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
561
|
+
if (txn.hasPendingWrites() && !txn.sourceApply && !txn.isReplay) {
|
|
562
|
+
// Abort and surface an error rather than force-committing a partial write set: silently
|
|
563
|
+
// committing on the application's behalf breaks atomicity and can leave orphaned
|
|
564
|
+
// secondary-index entries that only a full index rebuild repairs (issue #1407). The app
|
|
565
|
+
// owns long-running work (split into smaller transactions); core owns consistency.
|
|
566
|
+
// Canonical-source applies (replication peer / external caching source) and crash-recovery
|
|
567
|
+
// replay are excluded: they have no resubscribe/resume path, so aborting a write would drop
|
|
568
|
+
// it while the resume cursor advances past it — a permanent divergence (harper-pro#348). For
|
|
569
|
+
// those, keep the prior force-commit behavior below.
|
|
570
|
+
harperLogger.error(`Transaction was open too long and has been aborted after exceeding the open-transaction limit, from table: ${txn.db?.name + (url ? ' path: ' + url : '')}`, ...(txn.startedFrom ? [`was started from ${txn.startedFrom.resourceName}.${txn.startedFrom.method}`] : []), ...(DEBUG_LONG_TXNS ? ['starting stack trace', txn.stackTraces] : []));
|
|
571
|
+
try {
|
|
572
|
+
txn.abortDueToTimeout();
|
|
573
|
+
}
|
|
574
|
+
catch (error) {
|
|
575
|
+
harperLogger.debug?.(`Error aborting timed out transaction: ${error.message}`);
|
|
468
576
|
}
|
|
469
577
|
}
|
|
470
|
-
|
|
471
|
-
|
|
578
|
+
else {
|
|
579
|
+
// Read-only long transaction (no atomicity/index risk — e.g. a large scan or export), or a
|
|
580
|
+
// canonical-source apply/replay that must never drop a write: preserve the prior behavior of
|
|
581
|
+
// committing to close out the snapshot without poisoning the transaction.
|
|
582
|
+
try {
|
|
583
|
+
const result = txn.commit();
|
|
584
|
+
if (result?.then) {
|
|
585
|
+
result.catch((error) => {
|
|
586
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
587
|
+
});
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
catch (error) {
|
|
591
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
592
|
+
}
|
|
593
|
+
txn.timeout = txnExpiration;
|
|
472
594
|
}
|
|
473
|
-
txn.timeout = txnExpiration;
|
|
474
595
|
}
|
|
475
596
|
else {
|
|
476
597
|
txn.timeout -= txnExpiration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,6 +108,8 @@ class LMDBTransaction extends DatabaseTransaction_1.DatabaseTransaction {
|
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
110
|
addWrite(operation) {
|
|
111
|
+
if (this.timedOut)
|
|
112
|
+
throw (0, DatabaseTransaction_1.transactionOpenTooLongError)();
|
|
111
113
|
if (this.open === exports.TRANSACTION_STATE.CLOSED) {
|
|
112
114
|
throw new Error('Can not use a transaction that is no longer open');
|
|
113
115
|
}
|
|
@@ -135,6 +137,8 @@ class LMDBTransaction extends DatabaseTransaction_1.DatabaseTransaction {
|
|
|
135
137
|
* Resolves with information on the timestamp and success of the commit
|
|
136
138
|
*/
|
|
137
139
|
commit(options = {}) {
|
|
140
|
+
if (this.timedOut)
|
|
141
|
+
throw (0, DatabaseTransaction_1.transactionOpenTooLongError)();
|
|
138
142
|
options = options || {};
|
|
139
143
|
let txnTime = this.timestamp;
|
|
140
144
|
if (!txnTime)
|
|
@@ -375,10 +379,40 @@ function startMonitoringTxns() {
|
|
|
375
379
|
for (const txn of trackedTxns) {
|
|
376
380
|
if (txn.timeout <= 0) {
|
|
377
381
|
const url = txn.getContext()?.url;
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
+
if (txn.hasPendingWrites() && !txn.sourceApply && !txn.isReplay) {
|
|
383
|
+
// Abort and surface an error rather than force-committing a partial write set: silently
|
|
384
|
+
// committing on the application's behalf breaks atomicity and can leave orphaned
|
|
385
|
+
// secondary-index entries that only a full index rebuild repairs (issue #1407). The app
|
|
386
|
+
// owns long-running work (split into smaller transactions); core owns consistency.
|
|
387
|
+
// Canonical-source applies (replication peer / external caching source) and crash-recovery
|
|
388
|
+
// replay are excluded: they have no resubscribe/resume path, so aborting a write would drop
|
|
389
|
+
// it while the resume cursor advances past it — a permanent divergence (harper-pro#348). For
|
|
390
|
+
// those, keep the prior force-commit behavior below.
|
|
391
|
+
harperLogger.error(`Transaction was open too long and has been aborted after exceeding the open-transaction limit, from table: ${txn.db?.name + (url ? ' path: ' + url : '')}`);
|
|
392
|
+
try {
|
|
393
|
+
txn.abortDueToTimeout();
|
|
394
|
+
}
|
|
395
|
+
catch (error) {
|
|
396
|
+
harperLogger.debug?.(`Error aborting timed out transaction: ${error.message}`);
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
// Read-only long transaction (no atomicity/index risk — e.g. a large scan or export), or a
|
|
401
|
+
// canonical-source apply/replay that must never drop a write: preserve the prior behavior of
|
|
402
|
+
// committing to close out the snapshot without poisoning the transaction.
|
|
403
|
+
try {
|
|
404
|
+
const result = txn.commit();
|
|
405
|
+
if (result?.then) {
|
|
406
|
+
result.catch((error) => {
|
|
407
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
catch (error) {
|
|
412
|
+
harperLogger.debug?.(`Error committing timed out transaction: ${error.message}`);
|
|
413
|
+
}
|
|
414
|
+
txn.timeout = txnExpiration;
|
|
415
|
+
}
|
|
382
416
|
}
|
|
383
417
|
else {
|
|
384
418
|
txn.timeout -= txnExpiration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LMDBTransaction.js","sourceRoot":"","sources":["../../resources/LMDBTransaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"LMDBTransaction.js","sourceRoot":"","sources":["../../resources/LMDBTransaction.ts"],"names":[],"mappings":"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"}
|
package/dist/resources/Table.js
CHANGED
|
@@ -1853,6 +1853,16 @@ function makeTable(options) {
|
|
|
1853
1853
|
},
|
|
1854
1854
|
before: writeToSource(),
|
|
1855
1855
|
commit: (txnTime, existingEntry, retry, transaction) => {
|
|
1856
|
+
// Whether a prior attempt of THIS write appended its own audit entry (sticky, set in
|
|
1857
|
+
// save(); log entries are not part of the aborted rocks transaction, so they survive).
|
|
1858
|
+
// Only such a write can find its own orphaned entry in the dedup lookups below and must
|
|
1859
|
+
// not treat it as "already applied". Per-write on purpose: the transaction-wide retry
|
|
1860
|
+
// flag would also suppress dedup for a genuine re-delivered duplicate co-batched with
|
|
1861
|
+
// the conflicting write (double-applying it) and for fresh writes staged through a
|
|
1862
|
+
// reused transaction whose retries counter is stale. Sticky on purpose: a proxy read
|
|
1863
|
+
// from the last attempt's skipped state launders when a recommit round self-skips
|
|
1864
|
+
// (walk identity tie against its own staged record) before a fresh-transaction replay.
|
|
1865
|
+
const stagedOwnAuditEntry = retry && write.appendedAuditEntry === true;
|
|
1856
1866
|
write.skipped = false; // reset on each retry; cleanup happens after commit if still true
|
|
1857
1867
|
if (retry) {
|
|
1858
1868
|
if (context && existingEntry?.version > (context.lastModified || 0))
|
|
@@ -1964,8 +1974,12 @@ function makeTable(options) {
|
|
|
1964
1974
|
// local audit time, not version, so this version-keyed lookup doesn't apply there (LMDB keeps the
|
|
1965
1975
|
// exact unbounded walk). A miss (the keyed lookup can lag a back-to-back re-delivery — #1137)
|
|
1966
1976
|
// simply falls through to the walk, so this never changes correctness; the additionalAuditRefs
|
|
1967
|
-
// check above remains the read-your-writes guard.
|
|
1968
|
-
|
|
1977
|
+
// check above remains the read-your-writes guard. Never when this write staged in a prior
|
|
1978
|
+
// failed attempt: that attempt already appended this write's own audit entry, so the lookup
|
|
1979
|
+
// would find it and skip the write as "already applied" when the record was never committed.
|
|
1980
|
+
// A recommit of the same transaction survived that skip only because the old write batch
|
|
1981
|
+
// still carried the put; a fresh-transaction replay (ERR_TRY_AGAIN) would drop the write.
|
|
1982
|
+
if (isRocksDB && !stagedOwnAuditEntry && dedupVersionCouldBeRetained(txnTime)) {
|
|
1969
1983
|
const priorAudit = auditStore.get(txnTime, tableId, id, options?.nodeId);
|
|
1970
1984
|
if (priorAudit &&
|
|
1971
1985
|
priorAudit.version === txnTime &&
|
|
@@ -2007,7 +2021,12 @@ function makeTable(options) {
|
|
|
2007
2021
|
// A re-delivered write whose exact (version, nodeId) is already in the audit log was already
|
|
2008
2022
|
// applied; drop it rather than re-applying it (double-applying commutative ops) or writing a
|
|
2009
2023
|
// duplicate audit-only record. Used by the early-out and the depth-cap block below.
|
|
2024
|
+
// Never a duplicate for a write that staged in a prior failed attempt: that attempt already
|
|
2025
|
+
// appended this write's own audit entry, so the lookup would match it while the record was
|
|
2026
|
+
// never committed (see the up-front keyed dedup above).
|
|
2010
2027
|
const isReDeliveredDuplicate = () => {
|
|
2028
|
+
if (stagedOwnAuditEntry)
|
|
2029
|
+
return false;
|
|
2011
2030
|
if (!dedupVersionCouldBeRetained(txnTime))
|
|
2012
2031
|
return false; // pre-retention version — skip the end-of-log scan (best-effort; see above)
|
|
2013
2032
|
const duplicate = auditStore.get(txnTime, tableId, id, options?.nodeId);
|