@harperfast/harper 5.3.0 → 5.3.1
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/bin/copyDb.ts +5 -1
- package/bin/deployRenderer.ts +3 -0
- package/components/Application.ts +66 -22
- package/components/DESIGN.md +89 -36
- package/components/componentLoader.ts +2 -0
- package/components/deploymentRecorder.ts +18 -1
- package/components/installFingerprint.ts +123 -0
- package/components/mcp/DESIGN.md +4 -4
- package/components/operations.js +29 -0
- package/config/DESIGN.md +5 -5
- package/dataLayer/DESIGN.md +37 -22
- package/dataLayer/backupRepository.ts +248 -0
- package/dataLayer/restoreMarker.ts +30 -75
- package/dataLayer/rocksdbBackup.ts +253 -110
- package/dist/bin/copyDb.js +3 -0
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deployRenderer.js +3 -0
- package/dist/bin/deployRenderer.js.map +1 -1
- package/dist/components/Application.d.ts +5 -0
- package/dist/components/Application.js +51 -19
- package/dist/components/Application.js.map +1 -1
- package/dist/components/componentLoader.js +2 -0
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deploymentRecorder.js +18 -1
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/installFingerprint.d.ts +39 -0
- package/dist/components/installFingerprint.js +113 -0
- package/dist/components/installFingerprint.js.map +1 -0
- package/dist/components/operations.d.ts +2 -0
- package/dist/components/operations.js +31 -0
- package/dist/components/operations.js.map +1 -1
- package/dist/dataLayer/backupRepository.d.ts +33 -0
- package/dist/dataLayer/backupRepository.js +232 -0
- package/dist/dataLayer/backupRepository.js.map +1 -0
- package/dist/dataLayer/restoreMarker.d.ts +4 -1
- package/dist/dataLayer/restoreMarker.js +29 -68
- package/dist/dataLayer/restoreMarker.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.js +221 -112
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +14 -0
- package/dist/resources/DatabaseTransaction.d.ts +140 -11
- package/dist/resources/DatabaseTransaction.js +1055 -464
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/IterableEventQueue.d.ts +2 -1
- package/dist/resources/IterableEventQueue.js +16 -8
- package/dist/resources/IterableEventQueue.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +13 -2
- package/dist/resources/LMDBTransaction.js +219 -93
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/RecordEncoder.js +2 -3
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Resource.js +5 -6
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +3 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +2 -1
- package/dist/resources/RocksIndexStore.js +3 -0
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/Table.js +116 -12
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +6 -2
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +71 -17
- package/dist/resources/auditStore.js +248 -64
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/branchDatabase.js +2 -0
- package/dist/resources/branchDatabase.js.map +1 -1
- package/dist/resources/databases.js +8 -2
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +6 -2
- package/dist/resources/indexes/fullTextNativeBinding.js +12 -2
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -1
- package/dist/resources/indexes/fullTextQueryIndex.d.ts +4 -0
- package/dist/resources/indexes/fullTextQueryIndex.js +207 -10
- package/dist/resources/indexes/fullTextQueryIndex.js.map +1 -1
- package/dist/resources/models/Models.d.ts +11 -0
- package/dist/resources/models/Models.js +95 -4
- package/dist/resources/models/Models.js.map +1 -1
- package/dist/resources/models/backendRegistry.d.ts +8 -0
- package/dist/resources/models/backendRegistry.js +15 -1
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +2 -0
- package/dist/resources/models/bootstrap.js +6 -0
- package/dist/resources/models/bootstrap.js.map +1 -1
- package/dist/resources/models/calibration.d.ts +88 -0
- package/dist/resources/models/calibration.js +244 -0
- package/dist/resources/models/calibration.js.map +1 -0
- package/dist/resources/models/calibrationStore.d.ts +163 -0
- package/dist/resources/models/calibrationStore.js +986 -0
- package/dist/resources/models/calibrationStore.js.map +1 -0
- package/dist/resources/models/decisionStore.d.ts +24 -0
- package/dist/resources/models/decisionStore.js +45 -0
- package/dist/resources/models/decisionStore.js.map +1 -1
- package/dist/resources/models/generativeDecision.js +44 -15
- package/dist/resources/models/generativeDecision.js.map +1 -1
- package/dist/resources/models/types.d.ts +7 -0
- package/dist/resources/recordLock.d.ts +8 -5
- package/dist/resources/recordLock.js +6 -4
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/resources/replayLogs.js +8 -1
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/scheduler/engine.d.ts +4 -0
- package/dist/resources/scheduler/engine.js +30 -2
- package/dist/resources/scheduler/engine.js.map +1 -1
- package/dist/resources/search.d.ts +16 -4
- package/dist/resources/search.js +117 -13
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/transaction.js +85 -5
- package/dist/resources/transaction.js.map +1 -1
- package/dist/resources/transactionBroadcast.d.ts +8 -0
- package/dist/resources/transactionBroadcast.js +65 -0
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/keys.d.ts +1 -1
- package/dist/security/keys.js +170 -120
- package/dist/security/keys.js.map +1 -1
- package/dist/server/http.js +10 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/serverHelpers/Request.js +11 -2
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.js +8 -3
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +38 -7
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +3 -3
- package/dist/server/threads/manageThreads.js +15 -13
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/threadServer.d.ts +3 -0
- package/dist/server/threads/threadServer.js +24 -6
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.js +9 -3
- package/dist/upgrade/directives/5-3-0.js.map +1 -1
- package/dist/utility/durableFile.d.ts +36 -0
- package/dist/utility/durableFile.js +106 -0
- package/dist/utility/durableFile.js.map +1 -0
- package/dist/utility/errors/hdbError.d.ts +4 -0
- package/dist/utility/errors/hdbError.js +10 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +9 -0
- package/dist/utility/hdbTerms.d.ts +1 -0
- package/dist/utility/hdbTerms.js +1 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/validation/configValidator.js +29 -0
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +7 -0
- package/json/systemSchema.json +14 -0
- package/npm-shrinkwrap.json +22 -22
- package/package.json +2 -2
- package/resources/DESIGN.md +57 -272
- package/resources/DatabaseTransaction.ts +708 -87
- package/resources/FULL_TEXT.md +6 -2
- package/resources/IterableEventQueue.ts +14 -7
- package/resources/LMDBTransaction.ts +212 -84
- package/resources/RecordEncoder.ts +2 -3
- package/resources/Resource.ts +5 -6
- package/resources/ResourceInterface.ts +3 -1
- package/resources/RocksIndexStore.ts +5 -0
- package/resources/Table.ts +118 -15
- package/resources/analytics/write.ts +6 -2
- package/resources/audit-retention.md +203 -0
- package/resources/auditStore.ts +306 -84
- package/resources/branchDatabase.ts +2 -0
- package/resources/databases.ts +6 -2
- package/resources/indexes/DESIGN.md +120 -177
- package/resources/indexes/fullTextNativeBinding.ts +22 -3
- package/resources/indexes/fullTextQueryIndex.ts +274 -11
- package/resources/models/DESIGN.md +11 -3
- package/resources/models/Models.ts +127 -4
- package/resources/models/backendRegistry.ts +17 -0
- package/resources/models/bootstrap.ts +9 -1
- package/resources/models/calibration.ts +298 -0
- package/resources/models/calibrationStore.ts +1167 -0
- package/resources/models/decisionStore.ts +57 -0
- package/resources/models/generativeDecision.ts +54 -16
- package/resources/models/types.ts +6 -0
- package/resources/record-locks.md +155 -141
- package/resources/recordLock.ts +12 -6
- package/resources/replayLogs.ts +9 -2
- package/resources/scheduler/DESIGN.md +4 -3
- package/resources/scheduler/engine.ts +35 -2
- package/resources/search.ts +154 -16
- package/resources/transaction.ts +50 -5
- package/resources/transactionBroadcast.ts +69 -0
- package/security/DESIGN.md +9 -30
- package/security/keys.ts +175 -127
- package/server/DESIGN.md +70 -36
- package/server/http.ts +10 -0
- package/server/serverHelpers/Request.ts +10 -2
- package/server/serverHelpers/contentTypes.ts +5 -3
- package/server/serverHelpers/uwsServer.ts +34 -7
- package/server/threads/manageThreads.js +16 -14
- package/server/threads/threadServer.js +24 -6
- package/studio/web/assets/{Chat-CNEKMllJ.js → Chat-4LMxI0yB.js} +1 -1
- package/studio/web/assets/{FloatingChat-CEnWhHeR.js → FloatingChat-kWHApEtF.js} +3 -3
- package/studio/web/assets/{SearchDialog-CwhJdEdY.js → SearchDialog-B7ymna97.js} +1 -1
- package/studio/web/assets/{apiToken-DC5vsaaO.js → apiToken-CE3AAt9f.js} +1 -1
- package/studio/web/assets/{applications-DQZxDy0x.js → applications-DdN7CqsB.js} +1 -1
- package/studio/web/assets/{cssMode-Dz2DxF4e.js → cssMode-BpySZUSt.js} +1 -1
- package/studio/web/assets/{editor-B3mjd3tz.js → editor-myLCVv9C.js} +1 -1
- package/studio/web/assets/{html-BsRGM7tp.js → html-DGNYO55O.js} +1 -1
- package/studio/web/assets/{htmlMode-tUKJaA3o.js → htmlMode-BUgpQr41.js} +1 -1
- package/studio/web/assets/{index-BuqFjN5K.js → index-FN4KC9va.js} +39 -39
- package/studio/web/assets/index-QLZw6xrU.css +1 -0
- package/studio/web/assets/{index.lazy-CcpfQFY_.js → index.lazy-DZFuaumG.js} +1 -1
- package/studio/web/assets/{javascript-BZ_uRGHl.js → javascript-DiBzh4pj.js} +1 -1
- package/studio/web/assets/{jsonMode-DgB-aFMj.js → jsonMode-Bm312nmu.js} +1 -1
- package/studio/web/assets/{languageServices-BleuBw17.js → languageServices-Dz2K9rZN.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-ByVYLSsQ.js → lspLanguageFeatures-CNu1L5xn.js} +1 -1
- package/studio/web/assets/{notifications-TuzN0IMi.js → notifications--nwFLGmM.js} +1 -1
- package/studio/web/assets/{notifications-D1Nf-Edn.js → notifications-BelKw5bR.js} +1 -1
- package/studio/web/assets/{profile-D7C7Lupz.js → profile-AU5FjOBx.js} +1 -1
- package/studio/web/assets/{regions-nGQCm-v8.js → regions-C0sTSEHH.js} +1 -1
- package/studio/web/assets/{register-C3x9Ze6P.js → register-DyNR2rGk.js} +2 -2
- package/studio/web/assets/{setComponentFile-DpjrRqeG.js → setComponentFile-BkWx8AN3.js} +1 -1
- package/studio/web/assets/{setup-CGiKLZ9e.js → setup-D6LZS78d.js} +2 -2
- package/studio/web/assets/{status-CGJwrNPH.js → status-BCWnn70o.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-C-Ne6P7T.js → toggleHighContrast-pyeGJ6W1.js} +1 -1
- package/studio/web/assets/{tsMode-CSreYTys.js → tsMode-CGV3iaWC.js} +1 -1
- package/studio/web/assets/{typescript-MnxBk89W.js → typescript-Ci7Khvwo.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-TNrh77-s.js → useEntityRestURL-DNiz3aZ0.js} +1 -1
- package/studio/web/assets/{workers-BfZlUNVI.js → workers-byzxjbqy.js} +1 -1
- package/studio/web/assets/{xml-BHd6qGH7.js → xml-DGnHQ3CX.js} +1 -1
- package/studio/web/assets/{yaml-C53R8OQq.js → yaml-BUoTnPWb.js} +1 -1
- package/studio/web/index.html +2 -2
- package/upgrade/directives/5-3-0.ts +10 -3
- package/utility/durableFile.ts +96 -0
- package/utility/errors/hdbError.ts +9 -0
- package/utility/hdbTerms.ts +1 -0
- package/validation/configValidator.ts +31 -0
- package/studio/web/assets/index-72cEH474.css +0 -1
|
@@ -42,11 +42,18 @@ exports.boundedAuditPruneEnd = boundedAuditPruneEnd;
|
|
|
42
42
|
exports.raiseAuditFloor = raiseAuditFloor;
|
|
43
43
|
exports.establishAuditFloor = establishAuditFloor;
|
|
44
44
|
exports.getAuditFloor = getAuditFloor;
|
|
45
|
+
exports.getDatabaseGeneration = getDatabaseGeneration;
|
|
46
|
+
exports.getAuditResumeFloor = getAuditResumeFloor;
|
|
47
|
+
exports.isResumablePosition = isResumablePosition;
|
|
48
|
+
exports.establishDatabaseGeneration = establishDatabaseGeneration;
|
|
49
|
+
exports.stampDatabaseGeneration = stampDatabaseGeneration;
|
|
50
|
+
exports.stampDatabaseDirectory = stampDatabaseDirectory;
|
|
45
51
|
exports.setAuditRetention = setAuditRetention;
|
|
46
52
|
exports.purgeAgedLogs = purgeAgedLogs;
|
|
47
53
|
exports.isLockControlType = isLockControlType;
|
|
48
54
|
exports.createAuditEntry = createAuditEntry;
|
|
49
55
|
exports.readAuditEntry = readAuditEntry;
|
|
56
|
+
const node_crypto_1 = require("node:crypto");
|
|
50
57
|
const ordered_binary_1 = require("ordered-binary");
|
|
51
58
|
const environmentManager_ts_1 = require("../utility/environment/environmentManager.js");
|
|
52
59
|
const terms_ts_1 = require("../utility/lmdb/terms.js");
|
|
@@ -61,6 +68,7 @@ const storageReclamation_ts_1 = require("../server/storageReclamation.js");
|
|
|
61
68
|
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
62
69
|
const lmdb_1 = require("lmdb");
|
|
63
70
|
const RocksTransactionLogStore_ts_1 = require("./RocksTransactionLogStore.js");
|
|
71
|
+
const transactionBroadcast_ts_1 = require("./transactionBroadcast.js");
|
|
64
72
|
const databases_ts_1 = require("./databases.js");
|
|
65
73
|
/**
|
|
66
74
|
* This module is responsible for the binary representation of audit records in an efficient form.
|
|
@@ -154,9 +162,10 @@ const FLOAT_BUFFER = new Uint8Array(FLOAT_TARGET.buffer);
|
|
|
154
162
|
const AUDIT_FLOOR_KEY = Symbol.for('audit-floor');
|
|
155
163
|
// The epoch `establishAuditFloor` stamped, never raised or removed. Its PRESENCE marks the floor as
|
|
156
164
|
// unverified provenance — a guess bounded by what survived, blind to history a legacy prune removed
|
|
157
|
-
// before tracking began
|
|
158
|
-
//
|
|
159
|
-
//
|
|
165
|
+
// before tracking began. No comparison retires the mark: a later prune certifies only what it
|
|
166
|
+
// removed, so `floor > bootstrap` says nothing about the older gap. Resume never relies on it, since a
|
|
167
|
+
// position is bound to a database generation and everything after its cursor was written after
|
|
168
|
+
// tracking began. The value records how far the guess reached. See `establishAuditFloor`.
|
|
160
169
|
const AUDIT_FLOOR_BOOTSTRAP_KEY = Symbol.for('audit-floor-bootstrap');
|
|
161
170
|
/**
|
|
162
171
|
* The floor's own eight bytes, deliberately NOT the FLOAT_TARGET/FLOAT_BUFFER pair the `last-removed`
|
|
@@ -168,6 +177,24 @@ const FLOOR_TARGET = new Float64Array(1);
|
|
|
168
177
|
const FLOOR_BUFFER = new Uint8Array(FLOOR_TARGET.buffer);
|
|
169
178
|
/** No trustworthy floor: the highest possible floor, so every cursor compares as stale. */
|
|
170
179
|
const AUDIT_FLOOR_UNKNOWN = Infinity;
|
|
180
|
+
/**
|
|
181
|
+
* Which copy of this database's history this is: a sixteen-byte random id, then the float64 time the
|
|
182
|
+
* generation began (0 for genesis). Every path that publishes a copy stamps a fresh one first
|
|
183
|
+
* (`stampDatabaseGeneration`), so a position naming an older id is refused (harper#2451). RocksDB only,
|
|
184
|
+
* like the resume floor: an LMDB database carries neither, so no position is resumable against it.
|
|
185
|
+
*/
|
|
186
|
+
const DATABASE_GENERATION_KEY = Symbol.for('database-generation');
|
|
187
|
+
const GENERATION_ID_BYTES = 16;
|
|
188
|
+
const GENERATION_RECORD_BYTES = GENERATION_ID_BYTES + 8;
|
|
189
|
+
/**
|
|
190
|
+
* The highest prune cutoff within the current generation, encoded like the floor. Kept apart from the
|
|
191
|
+
* floor, which also steers `Table.commit`'s reconciliation: resume validity must restart at a copy and
|
|
192
|
+
* must not be absorbed by the floor's unknown sentinel, and doing either to the floor changes merges.
|
|
193
|
+
*/
|
|
194
|
+
const AUDIT_RESUME_FLOOR_KEY = Symbol.for('audit-resume-floor');
|
|
195
|
+
function isRocksStore(store) {
|
|
196
|
+
return store instanceof RocksTransactionLogStore_ts_1.RocksTransactionLogStore || store instanceof rocksdb_js_1.RocksDatabase;
|
|
197
|
+
}
|
|
171
198
|
/** Last resort on a detached path: a failing log sink must not itself become an unhandled rejection. */
|
|
172
199
|
function warnContained(message, error) {
|
|
173
200
|
try {
|
|
@@ -207,6 +234,8 @@ function openAuditStore(rootStore) {
|
|
|
207
234
|
rootStore.auditStore = auditStore;
|
|
208
235
|
auditStore.rootStore = rootStore;
|
|
209
236
|
establishAuditFloor(auditStore);
|
|
237
|
+
establishDatabaseGeneration(auditStore);
|
|
238
|
+
(0, transactionBroadcast_ts_1.endSubscriptionsFromEarlierHandles)(auditStore, isRocksStore(auditStore));
|
|
210
239
|
auditStore.tableStores = [];
|
|
211
240
|
const deleteCallbacks = [];
|
|
212
241
|
auditStore.addDeleteRemovalCallback = function (tableId, table, callback) {
|
|
@@ -521,13 +550,13 @@ function decodeAuditFloor(stored) {
|
|
|
521
550
|
return floor;
|
|
522
551
|
}
|
|
523
552
|
/**
|
|
524
|
-
* Did
|
|
525
|
-
* `decodeAuditFloor(undefined)` is the unknown sentinel too, so on a
|
|
526
|
-
* resolver writes exactly that sentinel — comparing decoded values alone
|
|
527
|
-
* write that never happened, and the caller pruned with nothing persisted.
|
|
553
|
+
* Did a metadata write land? A record has to be PRESENT with exactly the bytes written, not merely
|
|
554
|
+
* decode to the same value: `decodeAuditFloor(undefined)` is the unknown sentinel too, so on a
|
|
555
|
+
* floorless store — where the resolver writes exactly that sentinel — comparing decoded values alone
|
|
556
|
+
* reported a commit for a write that never happened, and the caller pruned with nothing persisted.
|
|
528
557
|
*/
|
|
529
|
-
function
|
|
530
|
-
return stored !== undefined &&
|
|
558
|
+
function writeLanded(stored, written) {
|
|
559
|
+
return stored !== undefined && stored.byteLength === written.byteLength && Buffer.compare(stored, written) === 0;
|
|
531
560
|
}
|
|
532
561
|
/** Own eight bytes per write: the store must never be handed a live view of the reused module buffer. */
|
|
533
562
|
function encodeAuditFloor(floor) {
|
|
@@ -545,31 +574,42 @@ function encodeAuditFloor(floor) {
|
|
|
545
574
|
* history the higher one already removed. Read-only mode writes nothing, and prunes nothing.
|
|
546
575
|
*/
|
|
547
576
|
function updateAuditFloor(auditStore, resolve, key = AUDIT_FLOOR_KEY) {
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
577
|
+
commitAuditMetadata(auditStore, (read) => {
|
|
578
|
+
const stored = read(key);
|
|
579
|
+
const floor = resolve(decodeAuditFloor(stored), stored !== undefined);
|
|
580
|
+
return floor === undefined ? undefined : [[key, encodeAuditFloor(floor)]];
|
|
581
|
+
}, 'audit retention floor');
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Write audit metadata records under one store transaction, all or none: every write is read back,
|
|
585
|
+
* and a mismatch throws inside the transaction so it aborts — returning false commits on LMDB.
|
|
586
|
+
*/
|
|
587
|
+
function commitAuditMetadata(store, plan, what) {
|
|
588
|
+
// A copy being stamped passes its RocksDB root directly. A legacy `auditPath` layout is opened as its
|
|
589
|
+
// own standalone LMDB root (databases.ts) and has no `.rootStore`, so it owns the transaction itself.
|
|
590
|
+
const onRocksDB = isRocksStore(store);
|
|
591
|
+
const transactionOwner = store instanceof rocksdb_js_1.RocksDatabase ? store : (store?.rootStore ?? store);
|
|
551
592
|
if (!transactionOwner?.transactionSync)
|
|
552
|
-
throw new Error(
|
|
553
|
-
|
|
554
|
-
//
|
|
555
|
-
// swallowed abort rather than throwing (see RecordEncoder.saveStructures)
|
|
556
|
-
//
|
|
557
|
-
//
|
|
558
|
-
|
|
559
|
-
const committed = auditStore instanceof RocksTransactionLogStore_ts_1.RocksTransactionLogStore
|
|
593
|
+
throw new Error(`Cannot record the ${what}: this database has no audit store`);
|
|
594
|
+
const notCommitted = () => new Error(`The ${what} transaction did not commit`);
|
|
595
|
+
// The caller still demands an explicit `true`: a RocksDB transactionSync returns undefined for a
|
|
596
|
+
// swallowed abort rather than throwing (see RecordEncoder.saveStructures). Reads inside a write
|
|
597
|
+
// transaction see their own writes on both engines, so the read-back observes what commit will make
|
|
598
|
+
// durable.
|
|
599
|
+
const committed = onRocksDB
|
|
560
600
|
? transactionOwner.transactionSync((txn) => {
|
|
561
|
-
const
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
601
|
+
const writes = plan((key) => txn.getBinarySync(key));
|
|
602
|
+
if (writes) {
|
|
603
|
+
for (const [key, bytes] of writes)
|
|
604
|
+
txn.putSync(key, (0, lmdb_1.asBinary)(bytes));
|
|
605
|
+
for (const [key, bytes] of writes)
|
|
606
|
+
if (!writeLanded(txn.getBinarySync(key), bytes))
|
|
607
|
+
throw notCommitted();
|
|
567
608
|
}
|
|
568
609
|
return true;
|
|
569
610
|
}, { retryOnBusy: true })
|
|
570
611
|
: transactionOwner.transactionSync(() => {
|
|
571
|
-
const
|
|
572
|
-
const floor = resolve(decodeAuditFloor(stored), stored !== undefined);
|
|
612
|
+
const writes = plan((key) => store.getBinary(key));
|
|
573
613
|
// `put` rather than `putSync`, and inside the transaction: lmdb's putSync is
|
|
574
614
|
// `put(...) === SYNC_PROMISE_SUCCESS`, so it drops whatever put returns, and a rejected put
|
|
575
615
|
// would leak with no owner. Within a write transaction put writes synchronously and returns
|
|
@@ -577,17 +617,17 @@ function updateAuditFloor(auditStore, resolve, key = AUDIT_FLOOR_KEY) {
|
|
|
577
617
|
// only takes ownership of the failure case.
|
|
578
618
|
// asBinary: a legacy standalone audit root's encoder has no Uint8Array passthrough, so raw
|
|
579
619
|
// bytes would reach createAuditEntry and throw. This bypasses both encoders.
|
|
580
|
-
if (
|
|
581
|
-
|
|
582
|
-
.put(key, (0, lmdb_1.asBinary)(
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
620
|
+
if (writes) {
|
|
621
|
+
for (const [key, bytes] of writes)
|
|
622
|
+
store.put(key, (0, lmdb_1.asBinary)(bytes))?.catch?.((error) => warnContained(`Error writing the ${what}`, error));
|
|
623
|
+
for (const [key, bytes] of writes)
|
|
624
|
+
if (!writeLanded(store.getBinary(key), bytes))
|
|
625
|
+
throw notCommitted();
|
|
586
626
|
}
|
|
587
627
|
return true;
|
|
588
628
|
});
|
|
589
629
|
if (committed !== true)
|
|
590
|
-
throw
|
|
630
|
+
throw notCommitted();
|
|
591
631
|
}
|
|
592
632
|
/**
|
|
593
633
|
* The bound a prune should use — and record — in place of an unbounded cutoff.
|
|
@@ -673,27 +713,38 @@ function raiseAuditFloor(auditStore, cutoff) {
|
|
|
673
713
|
// database, a cutoff below one a wider prune already set), and taking the env write lock to
|
|
674
714
|
// discover that serializes every worker's boot and reclamation on it. The in-transaction guards
|
|
675
715
|
// below stay authoritative.
|
|
676
|
-
// Skips only the case it can prove is a no-op:
|
|
677
|
-
// the cutoff. An absent record is NOT decided here — the presence question is
|
|
678
|
-
// transaction below, because another worker's establishAuditFloor can land between
|
|
679
|
-
// that write.
|
|
716
|
+
// Skips only the case it can prove is a no-op: the floor, and on RocksDB the resume record, exist and
|
|
717
|
+
// already sit at or above the cutoff. An absent record is NOT decided here — the presence question is
|
|
718
|
+
// settled inside the transaction below, because another worker's establishAuditFloor can land between
|
|
719
|
+
// this read and that write.
|
|
720
|
+
const resumeTracked = isRocksStore(auditStore);
|
|
680
721
|
if (auditStore?.getBinary) {
|
|
681
722
|
const stored = auditStore.getBinary(AUDIT_FLOOR_KEY);
|
|
682
|
-
|
|
723
|
+
const resume = resumeTracked ? auditStore.getBinary(AUDIT_RESUME_FLOOR_KEY) : undefined;
|
|
724
|
+
if (stored !== undefined &&
|
|
725
|
+
!(cutoff > decodeAuditFloor(stored)) &&
|
|
726
|
+
(!resumeTracked || (resume !== undefined && !(cutoff > decodeAuditFloor(resume)))))
|
|
683
727
|
return;
|
|
684
728
|
}
|
|
685
|
-
|
|
729
|
+
commitAuditMetadata(auditStore, (read) => {
|
|
730
|
+
const writes = [];
|
|
731
|
+
const stored = read(AUDIT_FLOOR_KEY);
|
|
686
732
|
// Still no record, and we are about to prune: persist the unknown sentinel. Leaving no marker
|
|
687
733
|
// lets the next open stamp a FINITE epoch, and a prune bound above that epoch (a future
|
|
688
734
|
// `endTime`, or a rolled-back clock) then certifies cursors whose history this prune deleted.
|
|
689
735
|
// Unknown is the honest value, because a store with no record may have been pruned before this
|
|
690
736
|
// run too.
|
|
691
|
-
if (
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
737
|
+
if (stored === undefined)
|
|
738
|
+
writes.push([AUDIT_FLOOR_KEY, encodeAuditFloor(AUDIT_FLOOR_UNKNOWN)]);
|
|
739
|
+
else if (cutoff > decodeAuditFloor(stored))
|
|
740
|
+
writes.push([AUDIT_FLOOR_KEY, encodeAuditFloor(cutoff)]);
|
|
741
|
+
if (resumeTracked) {
|
|
742
|
+
const resume = read(AUDIT_RESUME_FLOOR_KEY);
|
|
743
|
+
if (resume === undefined || cutoff > decodeAuditFloor(resume))
|
|
744
|
+
writes.push([AUDIT_RESUME_FLOOR_KEY, encodeAuditFloor(cutoff)]);
|
|
745
|
+
}
|
|
746
|
+
return writes;
|
|
747
|
+
}, 'audit retention floor');
|
|
697
748
|
}
|
|
698
749
|
/**
|
|
699
750
|
* Give a database a trustworthy floor if it has none: the current time, as a one-time resync epoch.
|
|
@@ -723,8 +774,9 @@ function raiseAuditFloor(auditStore, cutoff) {
|
|
|
723
774
|
* unverified pre-tracking window for as long as it exists, however far the floor has since moved: a
|
|
724
775
|
* prune raising the floor above the epoch certifies only what that prune removed, and says nothing
|
|
725
776
|
* about history removed before tracking began — which may sit above the epoch, since that is exactly
|
|
726
|
-
* the case the guess cannot see.
|
|
727
|
-
*
|
|
777
|
+
* the case the guess cannot see. A floor that has climbed past it does not retire it. Resumable
|
|
778
|
+
* positions never depend on it: each is bound to a database generation minted after tracking began,
|
|
779
|
+
* so the pre-tracking window lies below every one of them (`getDatabaseGeneration`).
|
|
728
780
|
*
|
|
729
781
|
* Ordering. The provenance record is written **first**, so a crash between the two writes leaves a
|
|
730
782
|
* record with no floor — which the next open retries, since the early return above tests the floor.
|
|
@@ -795,10 +847,10 @@ function establishAuditFloor(auditStore) {
|
|
|
795
847
|
}
|
|
796
848
|
/**
|
|
797
849
|
* The floor of this database's retained audit history: every audit entry at or after the returned
|
|
798
|
-
* time is still retained,
|
|
799
|
-
*
|
|
800
|
-
*
|
|
801
|
-
*
|
|
850
|
+
* time is still retained, and below it the log may have lost anything. Returns `Infinity` when the
|
|
851
|
+
* floor is unknown, which fails closed — no cursor compares as safe. A resume is decided by the
|
|
852
|
+
* database generation and its resume floor (`getDatabaseGeneration`) instead: this floor survives a
|
|
853
|
+
* restore, and an unknown one is absorbing.
|
|
802
854
|
*
|
|
803
855
|
* **One exception, and it is the only one: history removed before the floor existed.** Every prune
|
|
804
856
|
* that runs with a floor recorded is covered — it raises the floor first, so it cannot remove an entry
|
|
@@ -806,7 +858,9 @@ function establishAuditFloor(auditStore) {
|
|
|
806
858
|
* (`establishAuditFloor`), and a legacy `Table.deleteHistory` that removed a table's newest entries,
|
|
807
859
|
* followed by a clock rollback, leaves that stamp below history that is gone; a cursor in the window
|
|
808
860
|
* is then certified over the gap. So the guarantee is one-directional for tracked prunes and silent
|
|
809
|
-
* about untracked ones.
|
|
861
|
+
* about untracked ones. Resumable positions do not face it: they are checked against the database
|
|
862
|
+
* generation and its resume floor (`getDatabaseGeneration`), not against this floor, which also steers
|
|
863
|
+
* `Table.commit`'s reconciliation and so cannot move in the direction a cursor check would want.
|
|
810
864
|
*
|
|
811
865
|
* The time domain is the audit-log key: what `subscribe`'s events carry as `localTime` and what MQTT
|
|
812
866
|
* durable sessions persist as `startTime`, so those compare against the floor directly.
|
|
@@ -825,8 +879,9 @@ function establishAuditFloor(auditStore) {
|
|
|
825
879
|
*
|
|
826
880
|
* **A moment-in-time observation.** Retention can advance between this call and whatever the caller
|
|
827
881
|
* does with the answer, so a check-then-resume sequence has a window where the floor moves under it.
|
|
828
|
-
* Closing that requires validating the
|
|
829
|
-
* lost race degrades to the truncation that happens
|
|
882
|
+
* Closing that requires validating the position inside the resume itself (harper#2448), against the
|
|
883
|
+
* generation and the resume floor; until then a lost race degrades to the truncation that happens
|
|
884
|
+
* today, never to anything worse.
|
|
830
885
|
*
|
|
831
886
|
* **On RocksDB the floor tracks the configured horizon, not retained reality.** That branch purges at
|
|
832
887
|
* whole-log-file granularity, so it cannot know before the fact which entries a purge will drop, and
|
|
@@ -836,18 +891,147 @@ function establishAuditFloor(auditStore) {
|
|
|
836
891
|
* resync. Conservative in the one safe direction, and the reason the LMDB branch (which can see a
|
|
837
892
|
* single eligible entry) instead raises off the first one it finds.
|
|
838
893
|
*
|
|
839
|
-
* **
|
|
840
|
-
*
|
|
841
|
-
*
|
|
842
|
-
*
|
|
843
|
-
*
|
|
844
|
-
* record versions and per-node replication sequence state, so making this one field honest while
|
|
845
|
-
* those stay stale would not give a consumer a coherent answer. It needs a database-level epoch —
|
|
846
|
-
* harper#2451.
|
|
894
|
+
* **Copies of a database's state.** `restore_backup` copies this record with everything else, and it
|
|
895
|
+
* stays accurate for the log the restore carried; a branch checkpoint copies it with no log at all.
|
|
896
|
+
* What a copy changes is which history the database is, and that is the database generation's to
|
|
897
|
+
* answer: every copy path stamps a new one (`stampDatabaseGeneration`), and a copy that carried no log
|
|
898
|
+
* raises this floor to the generation's epoch.
|
|
847
899
|
*/
|
|
848
900
|
function getAuditFloor(auditStore) {
|
|
849
901
|
return decodeAuditFloor(auditStore.getBinary(AUDIT_FLOOR_KEY));
|
|
850
902
|
}
|
|
903
|
+
/**
|
|
904
|
+
* The generation this handle's open established, or undefined when it could not establish one, in
|
|
905
|
+
* which case nothing may resume against it. Per database per node, never cluster-wide.
|
|
906
|
+
*/
|
|
907
|
+
function getDatabaseGeneration(auditStore) {
|
|
908
|
+
return auditStore?.databaseGeneration;
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* The bound a resumed position is checked against, or `Infinity` when unknown: the resume floor, but
|
|
912
|
+
* never below a finite audit floor, since a binary that predates the resume floor raised only the
|
|
913
|
+
* audit floor when it pruned. Such a binary pruning while the audit floor was unknown records nothing
|
|
914
|
+
* either record can show.
|
|
915
|
+
*/
|
|
916
|
+
function getAuditResumeFloor(auditStore) {
|
|
917
|
+
// The audit floor first: both records only rise, and an unknown audit floor stays unknown, so a prune
|
|
918
|
+
// committing between the two reads is still seen through the resume floor read second.
|
|
919
|
+
const auditFloor = getAuditFloor(auditStore);
|
|
920
|
+
const resumeFloor = decodeAuditFloor(auditStore.getBinary(AUDIT_RESUME_FLOOR_KEY));
|
|
921
|
+
return Number.isFinite(auditFloor) && auditFloor > resumeFloor ? auditFloor : resumeFloor;
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Whether a position may resume here: it names this handle's generation and carries a finite cursor
|
|
925
|
+
* at or above the resume floor. The cursor must be progress-based — no lower than the log position
|
|
926
|
+
* observed when the position was established — or a quiet scope's snapshot key falls below a floor
|
|
927
|
+
* that retention keeps advancing and is refused on every resume. The answer holds as of the read: a
|
|
928
|
+
* prune that commits after it returns is the caller's to order against its replay. Always false on
|
|
929
|
+
* LMDB, which has no generation: a caller applies the check to RocksDB databases only.
|
|
930
|
+
*/
|
|
931
|
+
function isResumablePosition(auditStore, generationId, cursor) {
|
|
932
|
+
const generation = getDatabaseGeneration(auditStore);
|
|
933
|
+
return (generation !== undefined &&
|
|
934
|
+
generationId === generation.id &&
|
|
935
|
+
typeof cursor === 'number' &&
|
|
936
|
+
Number.isFinite(cursor) &&
|
|
937
|
+
cursor >= getAuditResumeFloor(auditStore));
|
|
938
|
+
}
|
|
939
|
+
function newGeneration(epoch) {
|
|
940
|
+
return { id: (0, node_crypto_1.randomBytes)(GENERATION_ID_BYTES).toString('hex'), epoch };
|
|
941
|
+
}
|
|
942
|
+
function encodeGeneration(generation) {
|
|
943
|
+
const bytes = new Uint8Array(GENERATION_RECORD_BYTES);
|
|
944
|
+
bytes.set(Buffer.from(generation.id, 'hex'));
|
|
945
|
+
new DataView(bytes.buffer).setFloat64(GENERATION_ID_BYTES, generation.epoch, true);
|
|
946
|
+
return bytes;
|
|
947
|
+
}
|
|
948
|
+
function decodeGeneration(stored) {
|
|
949
|
+
if (stored?.byteLength !== GENERATION_RECORD_BYTES)
|
|
950
|
+
return undefined;
|
|
951
|
+
const epoch = new DataView(stored.buffer, stored.byteOffset, GENERATION_RECORD_BYTES).getFloat64(GENERATION_ID_BYTES, true);
|
|
952
|
+
if (!Number.isFinite(epoch) || epoch < 0 || Object.is(epoch, -0))
|
|
953
|
+
return undefined;
|
|
954
|
+
return { id: Buffer.from(stored.buffer, stored.byteOffset, GENERATION_ID_BYTES).toString('hex'), epoch };
|
|
955
|
+
}
|
|
956
|
+
/**
|
|
957
|
+
* Establish this handle's generation at open: adopt the recorded one, or mint genesis for a RocksDB
|
|
958
|
+
* store that has none (an LMDB store gets none). An undecodable record is never replaced here — an
|
|
959
|
+
* ordinary open cannot know whether another worker already serves it; only a copy's stamp replaces a
|
|
960
|
+
* generation. Never fails the open.
|
|
961
|
+
*/
|
|
962
|
+
function establishDatabaseGeneration(auditStore) {
|
|
963
|
+
auditStore.databaseGeneration = undefined;
|
|
964
|
+
if (!isRocksStore(auditStore))
|
|
965
|
+
return;
|
|
966
|
+
try {
|
|
967
|
+
let stored = auditStore.getBinary(DATABASE_GENERATION_KEY);
|
|
968
|
+
if (stored === undefined) {
|
|
969
|
+
if ((0, databases_ts_1.isReadOnlyMode)())
|
|
970
|
+
return;
|
|
971
|
+
const genesis = encodeGeneration(newGeneration(0));
|
|
972
|
+
commitAuditMetadata(auditStore, (read) => {
|
|
973
|
+
// compare-and-set on absence, so racing workers converge on the first one's id
|
|
974
|
+
if (read(DATABASE_GENERATION_KEY) !== undefined)
|
|
975
|
+
return undefined;
|
|
976
|
+
const writes = [[DATABASE_GENERATION_KEY, genesis]];
|
|
977
|
+
if (read(AUDIT_RESUME_FLOOR_KEY) === undefined) {
|
|
978
|
+
// starting at the audit floor rather than 0 keeps the next prune's lock-free skip effective
|
|
979
|
+
const auditFloor = decodeAuditFloor(read(AUDIT_FLOOR_KEY));
|
|
980
|
+
writes.push([AUDIT_RESUME_FLOOR_KEY, encodeAuditFloor(Number.isFinite(auditFloor) ? auditFloor : 0)]);
|
|
981
|
+
}
|
|
982
|
+
return writes;
|
|
983
|
+
}, 'database generation');
|
|
984
|
+
stored = auditStore.getBinary(DATABASE_GENERATION_KEY);
|
|
985
|
+
}
|
|
986
|
+
auditStore.databaseGeneration = decodeGeneration(stored);
|
|
987
|
+
if (!auditStore.databaseGeneration)
|
|
988
|
+
warnContained('The database generation record is unreadable, so no subscription can resume against this database', new Error(`database generation record of ${stored?.byteLength} bytes`));
|
|
989
|
+
}
|
|
990
|
+
catch (error) {
|
|
991
|
+
warnContained('Error establishing the database generation', error);
|
|
992
|
+
}
|
|
993
|
+
}
|
|
994
|
+
/**
|
|
995
|
+
* Give a copy of a database a generation of its own, before anything can read it; the caller holds
|
|
996
|
+
* the copy exclusively and makes the stamp durable before publishing. A copy that kept no
|
|
997
|
+
* transaction log has nothing below its epoch, so a finite floor is raised to it — raising it over
|
|
998
|
+
* history a copy carried would change `Table.commit`'s reconciliation, and an unknown floor stays
|
|
999
|
+
* unknown. `generation` lets a caller replay a value it recorded durably first.
|
|
1000
|
+
*/
|
|
1001
|
+
function stampDatabaseGeneration(store, { carriesLog, generation = newGeneration(Date.now()) }) {
|
|
1002
|
+
if (!/^[0-9a-f]{32}$/.test(generation?.id) ||
|
|
1003
|
+
decodeGeneration(encodeGeneration(generation))?.epoch !== generation.epoch)
|
|
1004
|
+
throw new Error(`Invalid database generation: ${JSON.stringify(generation)}`);
|
|
1005
|
+
const stamp = [
|
|
1006
|
+
[DATABASE_GENERATION_KEY, encodeGeneration(generation)],
|
|
1007
|
+
[AUDIT_RESUME_FLOOR_KEY, encodeAuditFloor(0)],
|
|
1008
|
+
];
|
|
1009
|
+
commitAuditMetadata(store, (read) => {
|
|
1010
|
+
if (carriesLog)
|
|
1011
|
+
return stamp;
|
|
1012
|
+
const stored = read(AUDIT_FLOOR_KEY);
|
|
1013
|
+
const floor = decodeAuditFloor(stored);
|
|
1014
|
+
return stored !== undefined && Number.isFinite(floor) && floor < generation.epoch
|
|
1015
|
+
? [...stamp, [AUDIT_FLOOR_KEY, encodeAuditFloor(generation.epoch)]]
|
|
1016
|
+
: stamp;
|
|
1017
|
+
}, 'database generation');
|
|
1018
|
+
return generation;
|
|
1019
|
+
}
|
|
1020
|
+
/**
|
|
1021
|
+
* Stamp the RocksDB database at `path`, which nothing else may have open, and flush it: a root-store
|
|
1022
|
+
* write alone is not power-loss durable, and directory fsync is best-effort where unsupported.
|
|
1023
|
+
*/
|
|
1024
|
+
async function stampDatabaseDirectory(path, options) {
|
|
1025
|
+
const database = (0, databases_ts_1.openRocksDatabase)(path, { disableWAL: false });
|
|
1026
|
+
try {
|
|
1027
|
+
const generation = stampDatabaseGeneration(database, options);
|
|
1028
|
+
await database.flush({ allowWriteStall: true });
|
|
1029
|
+
return generation;
|
|
1030
|
+
}
|
|
1031
|
+
finally {
|
|
1032
|
+
database.close();
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
851
1035
|
function setAuditRetention(retentionTime, defaultDelay = DEFAULT_AUDIT_CLEANUP_DELAY) {
|
|
852
1036
|
exports.auditRetention = retentionTime;
|
|
853
1037
|
DEFAULT_AUDIT_CLEANUP_DELAY = defaultDelay;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditStore.js","sourceRoot":"","sources":["../../resources/auditStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auditStore.js","sourceRoot":"","sources":["../../resources/auditStore.ts"],"names":[],"mappings":"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"}
|