@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
|
@@ -11,6 +11,7 @@ exports.checkRestoreState = checkRestoreState;
|
|
|
11
11
|
exports.acquireRestoreLock = acquireRestoreLock;
|
|
12
12
|
exports.releaseRestoreLock = releaseRestoreLock;
|
|
13
13
|
exports.beginRestore = beginRestore;
|
|
14
|
+
exports.clearRestoringMarker = clearRestoringMarker;
|
|
14
15
|
exports.completeRestore = completeRestore;
|
|
15
16
|
exports.abandonRestore = abandonRestore;
|
|
16
17
|
exports.clearRestoreMarker = clearRestoreMarker;
|
|
@@ -24,7 +25,7 @@ const node_fs_1 = require("node:fs");
|
|
|
24
25
|
const node_path_1 = require("node:path");
|
|
25
26
|
const node_crypto_1 = require("node:crypto");
|
|
26
27
|
const rocksdb_js_1 = require("@harperfast/rocksdb-js");
|
|
27
|
-
const
|
|
28
|
+
const durableFile_ts_1 = require("../utility/durableFile.js");
|
|
28
29
|
/**
|
|
29
30
|
* Restore lock + marker protocol for RocksDB database restores (online operation and offline CLI),
|
|
30
31
|
* and the shared per-database exclusion used by `dropDatabase` so a drop and a restore can never
|
|
@@ -111,10 +112,10 @@ function droppingMarkerPath(dbPath) {
|
|
|
111
112
|
* distinguish debris from a crashed restore.
|
|
112
113
|
*/
|
|
113
114
|
function restoreMarkerPresent(dbPath) {
|
|
114
|
-
return (0,
|
|
115
|
+
return (0, durableFile_ts_1.pathPresent)(restoringMarkerPath(dbPath));
|
|
115
116
|
}
|
|
116
117
|
function databaseDropMarkerPresent(dbPath) {
|
|
117
|
-
return (0,
|
|
118
|
+
return (0, durableFile_ts_1.pathPresent)(droppingMarkerPath(dbPath));
|
|
118
119
|
}
|
|
119
120
|
/**
|
|
120
121
|
* Determine the restore state of a database directory. Used by startup database detection and
|
|
@@ -133,10 +134,10 @@ function databaseDropMarkerPresent(dbPath) {
|
|
|
133
134
|
* before any destructive step, so a database without a marker has nothing to protect yet.
|
|
134
135
|
*/
|
|
135
136
|
function checkRestoreState(dbPath) {
|
|
136
|
-
if (!(0,
|
|
137
|
+
if (!(0, durableFile_ts_1.pathPresent)(restoringMarkerPath(dbPath)))
|
|
137
138
|
return 'clear';
|
|
138
139
|
const lockPath = restoreLockPath(dbPath);
|
|
139
|
-
if ((0,
|
|
140
|
+
if ((0, durableFile_ts_1.pathPresent)(lockPath)) {
|
|
140
141
|
const token = (0, rocksdb_js_1.tryFileLock)(lockPath);
|
|
141
142
|
if (token === 0)
|
|
142
143
|
return 'in-progress';
|
|
@@ -144,28 +145,6 @@ function checkRestoreState(dbPath) {
|
|
|
144
145
|
}
|
|
145
146
|
return 'incomplete';
|
|
146
147
|
}
|
|
147
|
-
/**
|
|
148
|
-
* fsync a directory so a create/unlink of an entry within it is durable. Best-effort: Windows (and
|
|
149
|
-
* some filesystems) reject opening a directory for fsync with EPERM/EISDIR/ENOTSUP — the durability
|
|
150
|
-
* flush is a POSIX nicety, so treat those as a no-op rather than failing the restore.
|
|
151
|
-
*/
|
|
152
|
-
function fsyncDir(dir) {
|
|
153
|
-
let dirFd;
|
|
154
|
-
try {
|
|
155
|
-
dirFd = (0, node_fs_1.openSync)(dir, 'r');
|
|
156
|
-
}
|
|
157
|
-
catch (error) {
|
|
158
|
-
if ((0, fsync_ts_1.isUnsupportedSyncError)(error))
|
|
159
|
-
return;
|
|
160
|
-
throw error;
|
|
161
|
-
}
|
|
162
|
-
try {
|
|
163
|
-
(0, fsync_ts_1.fsyncTolerantSync)(dirFd);
|
|
164
|
-
}
|
|
165
|
-
finally {
|
|
166
|
-
(0, node_fs_1.closeSync)(dirFd);
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
148
|
/**
|
|
170
149
|
* Take the per-database restore lock without writing a marker. Restore and drop build their durable
|
|
171
150
|
* protocols on this shared exclusion primitive. Throws (statusCode 409) if the lock is already held.
|
|
@@ -175,7 +154,7 @@ function acquireRestoreLock(dbPath) {
|
|
|
175
154
|
const createMetaDir = !(0, node_fs_1.existsSync)(metaDir);
|
|
176
155
|
(0, node_fs_1.mkdirSync)(metaDir, { recursive: true });
|
|
177
156
|
if (createMetaDir)
|
|
178
|
-
|
|
157
|
+
(0, durableFile_ts_1.fsyncDirectory)((0, node_path_1.dirname)(metaDir));
|
|
179
158
|
const token = (0, rocksdb_js_1.tryFileLock)(restoreLockPath(dbPath));
|
|
180
159
|
if (token === 0) {
|
|
181
160
|
const error = new Error(`Restore already in progress for database at ${dbPath}`);
|
|
@@ -210,31 +189,7 @@ function markerIsIntact(markerPath, dbPath) {
|
|
|
210
189
|
* left by an earlier crash is this database's own debris and is simply overwritten.
|
|
211
190
|
*/
|
|
212
191
|
function publishMarker(dbPath, markerPath, content) {
|
|
213
|
-
|
|
214
|
-
const tempPath = (0, node_path_1.join)(metaDir, restoreMetaKey(dbPath) + MARKER_TEMP_SUFFIX);
|
|
215
|
-
try {
|
|
216
|
-
const fd = (0, node_fs_1.openSync)(tempPath, 'w');
|
|
217
|
-
try {
|
|
218
|
-
(0, node_fs_1.writeSync)(fd, content);
|
|
219
|
-
(0, node_fs_1.fsyncSync)(fd);
|
|
220
|
-
}
|
|
221
|
-
finally {
|
|
222
|
-
(0, node_fs_1.closeSync)(fd);
|
|
223
|
-
}
|
|
224
|
-
(0, node_fs_1.renameSync)(tempPath, markerPath);
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
try {
|
|
228
|
-
(0, node_fs_1.unlinkSync)(tempPath);
|
|
229
|
-
}
|
|
230
|
-
catch {
|
|
231
|
-
// debris either way; the write failure is the error worth reporting
|
|
232
|
-
}
|
|
233
|
-
throw error;
|
|
234
|
-
}
|
|
235
|
-
// fsync the metadata directory so the marker's directory entry is durable — without this a
|
|
236
|
-
// power loss can lose the entry, and a half-purged database would load as healthy
|
|
237
|
-
fsyncDir(metaDir);
|
|
192
|
+
(0, durableFile_ts_1.writeFileDurably)(markerPath, content, restoreMetaKey(dbPath) + MARKER_TEMP_SUFFIX);
|
|
238
193
|
}
|
|
239
194
|
function publishRestoringMarker(dbPath) {
|
|
240
195
|
publishMarker(dbPath, restoringMarkerPath(dbPath), `${(0, node_path_1.basename)(dbPath)}\nrestore started ${new Date().toISOString()}\n`);
|
|
@@ -244,50 +199,56 @@ function publishRestoringMarker(dbPath) {
|
|
|
244
199
|
* destructive step. Returns the lock (with `preexisting` set when a marker was already present, so
|
|
245
200
|
* a failed recovery attempt knows not to clear it). Throws (statusCode 409) if another restore
|
|
246
201
|
* already holds the lock.
|
|
202
|
+
* `beforePublishMarker` runs synchronously under the lock, after admission but before publication,
|
|
203
|
+
* so a caller can durably claim its source before a crash can leave a restoring marker behind.
|
|
247
204
|
*
|
|
248
205
|
* An intact marker is left exactly as it is. A recovery attempt runs over a directory an earlier
|
|
249
206
|
* restore may have half-purged, so the marker it finds is the only thing keeping that directory
|
|
250
207
|
* from loading as healthy; rewriting it buys nothing (the content it would write is the content
|
|
251
208
|
* already there) and risks everything.
|
|
252
209
|
*/
|
|
253
|
-
function beginRestore(dbPath) {
|
|
210
|
+
function beginRestore(dbPath, beforePublishMarker) {
|
|
254
211
|
const markerPath = restoringMarkerPath(dbPath);
|
|
255
212
|
const lock = acquireRestoreLock(dbPath);
|
|
256
213
|
// Sampled while holding the lock, not before it: a restore that waited out an earlier one would
|
|
257
214
|
// otherwise carry the earlier run's "no marker" reading, and on its own pre-destruction failure
|
|
258
215
|
// clear the marker protecting a directory that run had already half-purged.
|
|
259
|
-
const preexisting = (0, node_fs_1.existsSync)(markerPath);
|
|
260
216
|
try {
|
|
217
|
+
lock.preexisting = (0, durableFile_ts_1.pathPresent)(markerPath);
|
|
261
218
|
if (databaseDropMarkerPresent(dbPath)) {
|
|
262
219
|
const error = new Error(`Database at ${dbPath} has an incomplete drop; retry drop_database first`);
|
|
263
220
|
error.statusCode = 409;
|
|
264
221
|
throw error;
|
|
265
222
|
}
|
|
266
|
-
|
|
223
|
+
beforePublishMarker?.();
|
|
224
|
+
if (!lock.preexisting || !markerIsIntact(markerPath, dbPath))
|
|
267
225
|
publishRestoringMarker(dbPath);
|
|
268
226
|
// An intact marker is kept, but its durability is not assumed: the publisher that wrote it may
|
|
269
227
|
// have been interrupted between the rename and this flush, which would leave the directory
|
|
270
228
|
// entry — the thing the startup scan reads — still only in the page cache.
|
|
271
229
|
else
|
|
272
|
-
|
|
230
|
+
(0, durableFile_ts_1.fsyncDirectory)(restoreMetaDir(dbPath));
|
|
273
231
|
}
|
|
274
232
|
catch (error) {
|
|
275
233
|
(0, rocksdb_js_1.fileLockRelease)(lock.token);
|
|
276
234
|
throw error;
|
|
277
235
|
}
|
|
278
|
-
return
|
|
236
|
+
return lock;
|
|
279
237
|
}
|
|
280
238
|
/**
|
|
281
239
|
* Mark the restore successful: delete the marker (while still holding the lock), then release
|
|
282
240
|
* the lock.
|
|
283
241
|
*/
|
|
242
|
+
function clearRestoringMarker(lock) {
|
|
243
|
+
(0, node_fs_1.unlinkSync)(restoringMarkerPath(lock.dbPath));
|
|
244
|
+
// fsync the metadata directory so the marker's *removal* is durable — symmetric with the
|
|
245
|
+
// creation fsync in beginRestore. Without it, a power loss could resurrect the marker's
|
|
246
|
+
// directory entry and misclassify a fully-restored database as incomplete.
|
|
247
|
+
(0, durableFile_ts_1.fsyncDirectory)(restoreMetaDir(lock.dbPath));
|
|
248
|
+
}
|
|
284
249
|
function completeRestore(lock) {
|
|
285
250
|
try {
|
|
286
|
-
(
|
|
287
|
-
// fsync the metadata directory so the marker's *removal* is durable — symmetric with the
|
|
288
|
-
// creation fsync in beginRestore. Without it, a power loss could resurrect the marker's
|
|
289
|
-
// directory entry and misclassify a fully-restored database as incomplete.
|
|
290
|
-
fsyncDir(restoreMetaDir(lock.dbPath));
|
|
251
|
+
clearRestoringMarker(lock);
|
|
291
252
|
}
|
|
292
253
|
finally {
|
|
293
254
|
(0, rocksdb_js_1.fileLockRelease)(lock.token);
|
|
@@ -310,7 +271,7 @@ function clearRestoreMarker(lock) {
|
|
|
310
271
|
const markerPath = restoringMarkerPath(lock.dbPath);
|
|
311
272
|
if ((0, node_fs_1.existsSync)(markerPath)) {
|
|
312
273
|
(0, node_fs_1.unlinkSync)(markerPath);
|
|
313
|
-
|
|
274
|
+
(0, durableFile_ts_1.fsyncDirectory)(restoreMetaDir(lock.dbPath));
|
|
314
275
|
}
|
|
315
276
|
}
|
|
316
277
|
finally {
|
|
@@ -410,7 +371,7 @@ function beginDatabaseDrop(dbPath, databaseName, blobDatabaseName = databaseName
|
|
|
410
371
|
}
|
|
411
372
|
blobDatabaseName = marker.blobDatabaseName;
|
|
412
373
|
blobPaths = marker.blobPaths;
|
|
413
|
-
|
|
374
|
+
(0, durableFile_ts_1.fsyncDirectory)(restoreMetaDir(dbPath));
|
|
414
375
|
}
|
|
415
376
|
else {
|
|
416
377
|
const encodedBlobPaths = encodeBlobPaths(blobPaths);
|
|
@@ -427,16 +388,16 @@ function removeDatabaseDropMarker(lock) {
|
|
|
427
388
|
const markerPath = droppingMarkerPath(lock.dbPath);
|
|
428
389
|
if ((0, node_fs_1.existsSync)(markerPath)) {
|
|
429
390
|
(0, node_fs_1.unlinkSync)(markerPath);
|
|
430
|
-
|
|
391
|
+
(0, durableFile_ts_1.fsyncDirectory)(restoreMetaDir(lock.dbPath));
|
|
431
392
|
}
|
|
432
393
|
}
|
|
433
394
|
function completeDatabaseDrop(lock) {
|
|
434
395
|
try {
|
|
435
|
-
|
|
396
|
+
(0, durableFile_ts_1.fsyncDirectory)((0, node_path_1.dirname)(lock.dbPath));
|
|
436
397
|
for (const blobPath of lock.blobPaths) {
|
|
437
398
|
const parent = (0, node_path_1.dirname)(blobPath);
|
|
438
399
|
if ((0, node_fs_1.existsSync)(parent))
|
|
439
|
-
|
|
400
|
+
(0, durableFile_ts_1.fsyncDirectory)(parent);
|
|
440
401
|
}
|
|
441
402
|
removeDatabaseDropMarker(lock);
|
|
442
403
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restoreMarker.js","sourceRoot":"","sources":["../../dataLayer/restoreMarker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"restoreMarker.js","sourceRoot":"","sources":["../../dataLayer/restoreMarker.ts"],"names":[],"mappings":"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"}
|