@harperfast/harper 5.3.0-alpha.1 → 5.3.0-beta.2
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/cliOperations.ts +12 -0
- package/bin/restart.ts +66 -6
- package/components/Application.ts +1134 -112
- package/components/DESIGN.md +421 -0
- package/components/OptionsWatcher.ts +368 -102
- package/components/Scope.ts +20 -1
- package/components/componentLoader.ts +43 -4
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/DESIGN.md +109 -0
- package/components/mcp/audit.ts +21 -17
- package/components/operations.js +284 -52
- package/components/operationsValidation.js +49 -2
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/config/DESIGN.md +306 -0
- package/config/RootConfigWatcher.ts +191 -37
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +78 -26
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +4 -0
- package/dataLayer/DESIGN.md +179 -0
- package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
- package/dataLayer/restoreMarker.ts +92 -25
- package/dist/bin/cliOperations.js +13 -0
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/restart.js +42 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/components/Application.d.ts +104 -9
- package/dist/components/Application.js +954 -102
- package/dist/components/Application.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -1
- package/dist/components/OptionsWatcher.js +378 -104
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/Scope.js +15 -1
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/componentLoader.js +35 -3
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/deploymentOperations.js +4 -1
- package/dist/components/deploymentOperations.js.map +1 -1
- package/dist/components/deploymentRecorder.d.ts +4 -2
- package/dist/components/deploymentRecorder.js +1 -0
- package/dist/components/deploymentRecorder.js.map +1 -1
- package/dist/components/mcp/audit.d.ts +2 -1
- package/dist/components/mcp/audit.js +21 -17
- package/dist/components/mcp/audit.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +263 -54
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +48 -2
- package/dist/components/operationsValidation.js.map +1 -1
- package/dist/components/packageComponent.js +24 -0
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/components/requestRestart.d.ts +1 -0
- package/dist/components/requestRestart.js +7 -0
- package/dist/components/requestRestart.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +2 -0
- package/dist/config/RootConfigWatcher.js +189 -35
- package/dist/config/RootConfigWatcher.js.map +1 -1
- package/dist/config/configReadRetry.d.ts +8 -0
- package/dist/config/configReadRetry.js +62 -0
- package/dist/config/configReadRetry.js.map +1 -0
- package/dist/config/configUtils.d.ts +10 -9
- package/dist/config/configUtils.js +63 -27
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +4 -0
- package/dist/config/parseConfigFile.js +35 -0
- package/dist/config/parseConfigFile.js.map +1 -0
- package/dist/config/readConfigFileSync.d.ts +1 -0
- package/dist/config/readConfigFileSync.js +47 -0
- package/dist/config/readConfigFileSync.js.map +1 -0
- package/dist/config/watcherArming.d.ts +15 -0
- package/dist/config/watcherArming.js +59 -0
- package/dist/config/watcherArming.js.map +1 -0
- package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/restoreMarker.d.ts +21 -8
- package/dist/dataLayer/restoreMarker.js +94 -27
- package/dist/dataLayer/restoreMarker.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +3 -0
- package/dist/resources/DatabaseTransaction.d.ts +25 -0
- package/dist/resources/DatabaseTransaction.js +224 -18
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +22 -3
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.js +22 -6
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +1 -1
- package/dist/resources/RecordEncoder.js +46 -10
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/Resource.js +97 -13
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +8 -0
- package/dist/resources/RocksIndexStore.js +2 -1
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
- package/dist/resources/RocksTransactionLogStore.js +104 -33
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +58 -7
- package/dist/resources/Table.js +1143 -348
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.d.ts +3 -0
- package/dist/resources/analytics/write.js +49 -16
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +170 -0
- package/dist/resources/auditStore.js +457 -11
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/crdt.d.ts +10 -0
- package/dist/resources/crdt.js +22 -0
- package/dist/resources/crdt.js.map +1 -1
- package/dist/resources/dataLoader.js +3 -4
- package/dist/resources/dataLoader.js.map +1 -1
- package/dist/resources/databases.d.ts +16 -13
- package/dist/resources/databases.js +625 -177
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/derivedIndexRegistry.d.ts +5 -0
- package/dist/resources/derivedIndexRegistry.js +68 -0
- package/dist/resources/derivedIndexRegistry.js.map +1 -0
- package/dist/resources/derivedIndexRuntime.d.ts +215 -0
- package/dist/resources/derivedIndexRuntime.js +2027 -0
- package/dist/resources/derivedIndexRuntime.js.map +1 -0
- package/dist/resources/graphql.js +3 -2
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +867 -39
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/indexes/fullTextDerivedIndex.d.ts +81 -0
- package/dist/resources/indexes/fullTextDerivedIndex.js +1004 -0
- package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/fullTextNativeBinding.d.ts +78 -0
- package/dist/resources/indexes/fullTextNativeBinding.js +85 -0
- package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -0
- package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
- package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
- package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
- package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
- package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
- package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +24 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +149 -0
- package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -0
- package/dist/resources/nodeIdMapping.d.ts +5 -0
- package/dist/resources/nodeIdMapping.js +49 -0
- package/dist/resources/nodeIdMapping.js.map +1 -1
- package/dist/resources/recordLock.d.ts +47 -4
- package/dist/resources/recordLock.js +138 -7
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2597 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.js +5 -0
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replicatedApplyFailure.d.ts +16 -0
- package/dist/resources/replicatedApplyFailure.js +63 -0
- package/dist/resources/replicatedApplyFailure.js.map +1 -0
- package/dist/resources/scheduler/scheduler.js +3 -3
- package/dist/resources/scheduler/scheduler.js.map +1 -1
- package/dist/resources/search.d.ts +10 -4
- package/dist/resources/search.js +160 -40
- package/dist/resources/search.js.map +1 -1
- package/dist/resources/tracked.d.ts +5 -1
- package/dist/resources/tracked.js +74 -23
- package/dist/resources/tracked.js.map +1 -1
- package/dist/resources/transactionBroadcast.js +4 -6
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +59 -23
- package/dist/security/auth.js.map +1 -1
- package/dist/security/deferredAuthentication.d.ts +11 -0
- package/dist/security/deferredAuthentication.js +25 -3
- package/dist/security/deferredAuthentication.js.map +1 -1
- package/dist/security/jsLoader.js +9 -4
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/server/REST.js +39 -5
- package/dist/server/REST.js.map +1 -1
- package/dist/server/http.d.ts +5 -1
- package/dist/server/http.js +34 -2
- package/dist/server/http.js.map +1 -1
- package/dist/server/mqtt.js +5 -1
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +2 -0
- package/dist/server/serverHelpers/Headers.js +6 -0
- package/dist/server/serverHelpers/Headers.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
- package/dist/server/serverHelpers/Request.d.ts +5 -10
- package/dist/server/serverHelpers/Request.js +38 -136
- package/dist/server/serverHelpers/Request.js.map +1 -1
- package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
- package/dist/server/serverHelpers/contentTypes.js +189 -15
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +3 -3
- package/dist/server/serverHelpers/serverUtilities.js +110 -20
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/uwsServer.js +4 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/serverHelpers/webSocketCloseReason.d.ts +2 -0
- package/dist/server/serverHelpers/webSocketCloseReason.js +29 -0
- package/dist/server/serverHelpers/webSocketCloseReason.js.map +1 -0
- package/dist/server/storageReclamation.js +1 -1
- package/dist/server/storageReclamation.js.map +1 -1
- package/dist/server/threads/isolatedApplications.d.ts +47 -0
- package/dist/server/threads/isolatedApplications.js +171 -0
- package/dist/server/threads/isolatedApplications.js.map +1 -0
- package/dist/server/threads/logRotationTransport.d.ts +1 -0
- package/dist/server/threads/logRotationTransport.js +33 -0
- package/dist/server/threads/logRotationTransport.js.map +1 -0
- package/dist/server/threads/manageThreads.d.ts +64 -6
- package/dist/server/threads/manageThreads.js +261 -12
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +196 -13
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadServer.js +30 -7
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +24 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/hdbTerms.d.ts +2 -0
- package/dist/utility/hdbTerms.js +2 -0
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.js +218 -38
- package/dist/utility/logging/harper_logger.js.map +1 -1
- package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
- package/dist/utility/logging/logGenerationCoordinator.js +184 -0
- package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
- package/dist/utility/logging/logRotation.d.ts +46 -0
- package/dist/utility/logging/logRotation.js +365 -0
- package/dist/utility/logging/logRotation.js.map +1 -0
- package/dist/utility/logging/logRotator.d.ts +1 -1
- package/dist/utility/logging/logRotator.js +172 -92
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/npmUtilities.js +6 -4
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/watcherFallback.d.ts +0 -45
- package/dist/utility/watcherFallback.js +1 -125
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.js +6 -3
- package/dist/validation/configValidator.js.map +1 -1
- package/index.ts +9 -0
- package/json/systemSchema.json +3 -0
- package/npm-shrinkwrap.json +177 -87
- package/package.json +13 -5
- package/resources/DESIGN.md +689 -19
- package/resources/DatabaseTransaction.ts +230 -17
- package/resources/LMDBTransaction.ts +21 -3
- package/resources/PrimaryRocksDatabase.ts +20 -7
- package/resources/RecordEncoder.ts +52 -10
- package/resources/Resource.ts +97 -13
- package/resources/ResourceInterface.ts +8 -0
- package/resources/RocksIndexStore.ts +2 -1
- package/resources/RocksTransactionLogStore.ts +111 -31
- package/resources/Table.ts +1273 -396
- package/resources/analytics/DESIGN.md +38 -0
- package/resources/analytics/write.ts +50 -17
- package/resources/auditStore.ts +460 -11
- package/resources/crdt.ts +22 -0
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +611 -147
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +3 -2
- package/resources/indexes/DESIGN.md +833 -0
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +924 -46
- package/resources/indexes/fullTextDerivedIndex.ts +1165 -0
- package/resources/indexes/fullTextNativeBinding.ts +146 -0
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +181 -0
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/record-locks.md +1407 -0
- package/resources/recordLock.ts +173 -7
- package/resources/recordLockCoordinator.ts +3082 -0
- package/resources/replayLogs.ts +5 -0
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/DESIGN.md +40 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +169 -49
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +4 -4
- package/security/DESIGN.md +175 -0
- package/security/auth.ts +53 -24
- package/security/deferredAuthentication.ts +24 -2
- package/security/jsLoader.ts +9 -4
- package/server/DESIGN.md +275 -0
- package/server/REST.ts +42 -6
- package/server/http.ts +34 -2
- package/server/mqtt.ts +6 -4
- package/server/serverHelpers/Headers.ts +5 -1
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +188 -15
- package/server/serverHelpers/serverUtilities.ts +157 -27
- package/server/serverHelpers/uwsServer.ts +4 -1
- package/server/serverHelpers/webSocketCloseReason.ts +25 -0
- package/server/storageReclamation.ts +2 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +254 -12
- package/server/threads/socketRouter.ts +217 -11
- package/server/threads/threadServer.js +30 -7
- package/studio/web/assets/{Chat-BnCBegQz.js → Chat-DADFFGe_.js} +1 -1
- package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-D_mI-rZ7.js} +3 -3
- package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-c2NiSDHa.js} +1 -1
- package/studio/web/assets/{applications-DHxGi7JH.js → applications-DktUqh7G.js} +1 -1
- package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-Cs_75Xhw.js} +1 -1
- package/studio/web/assets/{editor-DNcRHK54.js → editor-19b-Y1IN.js} +1 -1
- package/studio/web/assets/{html-Bdssedlg.js → html-DiYEQMpB.js} +1 -1
- package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CmR0y7P_.js} +1 -1
- package/studio/web/assets/{index-D6sxmFLR.js → index-Dm0rfkJ7.js} +5 -5
- package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-7vqt2CC3.js} +1 -1
- package/studio/web/assets/{javascript-B8meVSTH.js → javascript-BWtCFuOt.js} +1 -1
- package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-Buzzbv9y.js} +1 -1
- package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-SqsFWfTM.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-EMV5cmjo.js} +1 -1
- package/studio/web/assets/{notifications-CvZivSbh.js → notifications-CAB-LZWT.js} +1 -1
- package/studio/web/assets/{notifications-CQf18QKb.js → notifications-DRzmSRxM.js} +1 -1
- package/studio/web/assets/{profile-DdOwtntb.js → profile-BNKAl79n.js} +1 -1
- package/studio/web/assets/{regions-n69fwagr.js → regions-CUow_Zw2.js} +1 -1
- package/studio/web/assets/{register-PfWTCXWB.js → register-Dkt3WUMp.js} +2 -2
- package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BZRfMD0N.js} +1 -1
- package/studio/web/assets/{setup-CUx_aUDl.js → setup-D_yiEPO2.js} +2 -2
- package/studio/web/assets/{status-D7BVKqX9.js → status-DhHh1Ge-.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-D7L1PDtV.js} +1 -1
- package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-CCwLk1YS.js} +1 -1
- package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-BP1j1mjn.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-D7bnYxLw.js} +1 -1
- package/studio/web/assets/{workers-pR3jRY9D.js → workers-tOuCNT17.js} +1 -1
- package/studio/web/assets/{xml-2iRnMhQO.js → xml-BSG_3mQT.js} +1 -1
- package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-DxiLprBB.js} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/DESIGN.md +55 -0
- package/utility/errors/hdbError.ts +54 -0
- package/utility/hdbTerms.ts +2 -0
- package/utility/logging/harper_logger.ts +210 -30
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +196 -91
- package/utility/npmUtilities.ts +6 -4
- package/utility/watcherFallback.ts +0 -122
- package/validation/configValidator.ts +6 -3
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
openSync,
|
|
9
9
|
readdirSync,
|
|
10
10
|
readFileSync,
|
|
11
|
+
renameSync,
|
|
11
12
|
unlinkSync,
|
|
12
13
|
writeSync,
|
|
13
14
|
} from 'node:fs';
|
|
@@ -39,11 +40,17 @@ import { tryFileLock, fileLockRelease } from '@harperfast/rocksdb-js';
|
|
|
39
40
|
* duration of a restore, and briefly by `dropDatabase` so the two serialize on the same primitive.
|
|
40
41
|
* Known limitation: the lock is owned by the process, so if the restore job's worker *thread*
|
|
41
42
|
* dies without the process exiting, the lock stays held (restores 409) until Harper restarts.
|
|
42
|
-
* - `<meta-dir>/<key>.restoring` — the completion marker.
|
|
43
|
-
* acquired and before the destructive restore begins; deleted only after
|
|
44
|
-
* successfully, while still holding the lock. Its *existence* means "a
|
|
45
|
-
* not finished successfully". Its first line records the database
|
|
46
|
-
*
|
|
43
|
+
* - `<meta-dir>/<key>.restoring` — the completion marker. Published (temp → fsync → rename → parent
|
|
44
|
+
* fsync) after the lock is acquired and before the destructive restore begins; deleted only after
|
|
45
|
+
* the restore completes successfully, while still holding the lock. Its *existence* means "a
|
|
46
|
+
* restore started and has not finished successfully". Its first line records the database
|
|
47
|
+
* directory name as a fallback so the startup scan can map a marker whose database directory is
|
|
48
|
+
* missing without decoding the hashed key.
|
|
49
|
+
*
|
|
50
|
+
* The rename is what makes the marker trustworthy: the marker path only ever holds the previous
|
|
51
|
+
* content or the complete new content, so a torn write can never replace a valid marker with one
|
|
52
|
+
* the scan reads as empty (and therefore honors as no block). An intact marker is also never
|
|
53
|
+
* rewritten at all — see `beginRestore`.
|
|
47
54
|
*/
|
|
48
55
|
|
|
49
56
|
// The backtick makes this an illegal database name (schemaRegex rejects `/` and backtick only), so
|
|
@@ -51,6 +58,9 @@ import { tryFileLock, fileLockRelease } from '@harperfast/rocksdb-js';
|
|
|
51
58
|
export const RESTORE_META_DIR = '`restore`';
|
|
52
59
|
export const RESTORE_LOCK_SUFFIX = '.lock';
|
|
53
60
|
export const RESTORING_MARKER_SUFFIX = '.restoring';
|
|
61
|
+
// Deliberately not a `.restoring` suffix: `scanBlockedRestores` selects markers by that suffix, and
|
|
62
|
+
// a half-written temp must never be mistaken for one.
|
|
63
|
+
const MARKER_TEMP_SUFFIX = '.tmp';
|
|
54
64
|
|
|
55
65
|
/**
|
|
56
66
|
* Directory holding the restore metadata for a database — the reserved `` `restore` `` sibling of
|
|
@@ -180,17 +190,29 @@ export function releaseRestoreLock(lock: RestoreLock): void {
|
|
|
180
190
|
}
|
|
181
191
|
|
|
182
192
|
/**
|
|
183
|
-
*
|
|
184
|
-
*
|
|
185
|
-
* a
|
|
186
|
-
*
|
|
193
|
+
* Whether a marker on disk still blocks the database it belongs to. `scanBlockedRestores` maps a
|
|
194
|
+
* marker to a database by its first line, so the line has to be the whole name: a torn write that
|
|
195
|
+
* left a prefix of it ("ord" for "orders") is non-empty and reads as valid, but blocks a database
|
|
196
|
+
* that does not exist while the real one loads.
|
|
187
197
|
*/
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
198
|
+
function markerIsIntact(markerPath: string, dbPath: string): boolean {
|
|
199
|
+
try {
|
|
200
|
+
return readFileSync(markerPath, 'utf8').split('\n', 1)[0] === basename(dbPath);
|
|
201
|
+
} catch {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Publish the restoring marker atomically. The caller must already hold the restore lock, which is
|
|
208
|
+
* what makes the fixed temp name safe: only one writer per database can exist at a time, so a temp
|
|
209
|
+
* left by an earlier crash is this database's own debris and is simply overwritten.
|
|
210
|
+
*/
|
|
211
|
+
function publishRestoringMarker(dbPath: string): void {
|
|
212
|
+
const metaDir = restoreMetaDir(dbPath);
|
|
213
|
+
const tempPath = join(metaDir, restoreMetaKey(dbPath) + MARKER_TEMP_SUFFIX);
|
|
192
214
|
try {
|
|
193
|
-
const fd = openSync(
|
|
215
|
+
const fd = openSync(tempPath, 'w');
|
|
194
216
|
try {
|
|
195
217
|
// first line is the database directory name so the startup scan can map this marker back to
|
|
196
218
|
// the database it blocks without reversing the hashed key
|
|
@@ -199,9 +221,44 @@ export function beginRestore(dbPath: string): RestoreLock {
|
|
|
199
221
|
} finally {
|
|
200
222
|
closeSync(fd);
|
|
201
223
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
224
|
+
renameSync(tempPath, restoringMarkerPath(dbPath));
|
|
225
|
+
} catch (error) {
|
|
226
|
+
try {
|
|
227
|
+
unlinkSync(tempPath);
|
|
228
|
+
} catch {
|
|
229
|
+
// debris either way; the write failure is the error worth reporting
|
|
230
|
+
}
|
|
231
|
+
throw error;
|
|
232
|
+
}
|
|
233
|
+
// fsync the metadata directory so the marker's directory entry is durable — without this a
|
|
234
|
+
// power loss can lose the entry, and a half-purged database would load as healthy
|
|
235
|
+
fsyncDir(metaDir);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* Acquire the per-database restore lock and ensure the restoring marker is in place. Call before any
|
|
240
|
+
* destructive step. Returns the lock (with `preexisting` set when a marker was already present, so
|
|
241
|
+
* a failed recovery attempt knows not to clear it). Throws (statusCode 409) if another restore
|
|
242
|
+
* already holds the lock.
|
|
243
|
+
*
|
|
244
|
+
* An intact marker is left exactly as it is. A recovery attempt runs over a directory an earlier
|
|
245
|
+
* restore may have half-purged, so the marker it finds is the only thing keeping that directory
|
|
246
|
+
* from loading as healthy; rewriting it buys nothing (the content it would write is the content
|
|
247
|
+
* already there) and risks everything.
|
|
248
|
+
*/
|
|
249
|
+
export function beginRestore(dbPath: string): RestoreLock {
|
|
250
|
+
const markerPath = restoringMarkerPath(dbPath);
|
|
251
|
+
const lock = acquireRestoreLock(dbPath);
|
|
252
|
+
// Sampled while holding the lock, not before it: a restore that waited out an earlier one would
|
|
253
|
+
// otherwise carry the earlier run's "no marker" reading, and on its own pre-destruction failure
|
|
254
|
+
// clear the marker protecting a directory that run had already half-purged.
|
|
255
|
+
const preexisting = existsSync(markerPath);
|
|
256
|
+
try {
|
|
257
|
+
if (!preexisting || !markerIsIntact(markerPath, dbPath)) publishRestoringMarker(dbPath);
|
|
258
|
+
// An intact marker is kept, but its durability is not assumed: the publisher that wrote it may
|
|
259
|
+
// have been interrupted between the rename and this flush, which would leave the directory
|
|
260
|
+
// entry — the thing the startup scan reads — still only in the page cache.
|
|
261
|
+
else fsyncDir(restoreMetaDir(dbPath));
|
|
205
262
|
} catch (error) {
|
|
206
263
|
fileLockRelease(lock.token);
|
|
207
264
|
throw error;
|
|
@@ -251,24 +308,34 @@ export function clearRestoreMarker(lock: RestoreLock): void {
|
|
|
251
308
|
}
|
|
252
309
|
|
|
253
310
|
/**
|
|
254
|
-
* Scan a databases root's reserved `` `restore` `` metadata directory and report every database
|
|
255
|
-
*
|
|
311
|
+
* Scan a databases root's reserved `` `restore` `` metadata directory and report every database
|
|
312
|
+
* currently blocked from loading. Existing database entries are mapped to markers by their hashed
|
|
313
|
+
* keys, so corrupt marker contents cannot unblock them; the first line remains the fallback for a
|
|
314
|
+
* marker whose database directory is missing.
|
|
256
315
|
* Returns `[dbName, state]` pairs for markers whose state is `in-progress` or `incomplete`
|
|
257
316
|
* (a `clear` result means the marker was removed concurrently and the database is loadable).
|
|
258
317
|
*/
|
|
259
318
|
export function scanBlockedRestores(databasesRoot: string): Array<[string, RestoreState]> {
|
|
260
319
|
const metaDir = join(databasesRoot, RESTORE_META_DIR);
|
|
261
320
|
if (!existsSync(metaDir)) return [];
|
|
321
|
+
const databaseNamesByMarker = new Map(
|
|
322
|
+
readdirSync(databasesRoot, { withFileTypes: true })
|
|
323
|
+
.filter((entry) => entry.name !== RESTORE_META_DIR)
|
|
324
|
+
.map((entry) => [restoreMetaKey(join(databasesRoot, entry.name)) + RESTORING_MARKER_SUFFIX, entry.name])
|
|
325
|
+
);
|
|
262
326
|
const blocked: Array<[string, RestoreState]> = [];
|
|
263
327
|
for (const entry of readdirSync(metaDir, { withFileTypes: true })) {
|
|
264
328
|
if (!entry.isFile() || !entry.name.endsWith(RESTORING_MARKER_SUFFIX)) continue;
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
329
|
+
const markerPath = join(metaDir, entry.name);
|
|
330
|
+
let dbName = databaseNamesByMarker.get(entry.name);
|
|
331
|
+
if (!dbName) {
|
|
332
|
+
try {
|
|
333
|
+
dbName = readFileSync(markerPath, 'utf8').split('\n', 1)[0];
|
|
334
|
+
} catch {
|
|
335
|
+
continue; // marker removed concurrently
|
|
336
|
+
}
|
|
337
|
+
if (!dbName || restoringMarkerPath(join(databasesRoot, dbName)) !== markerPath) continue;
|
|
270
338
|
}
|
|
271
|
-
if (!dbName) continue;
|
|
272
339
|
const state = checkRestoreState(join(databasesRoot, dbName));
|
|
273
340
|
if (state !== 'clear') blocked.push([dbName, state]);
|
|
274
341
|
}
|
|
@@ -599,6 +599,19 @@ function prepareDeployByRef(req) {
|
|
|
599
599
|
}
|
|
600
600
|
const PREPARE_OPERATION = {
|
|
601
601
|
deploy_component: async (req) => {
|
|
602
|
+
if (req.deployment_id) {
|
|
603
|
+
// `by_ref`/`ref` are consumed here and never transmitted, so the server's validator cannot see
|
|
604
|
+
// this conflict.
|
|
605
|
+
if (req.by_ref || req.ref) {
|
|
606
|
+
throw new Error('deploy deployment_id: cannot be combined with by_ref/ref — the build already exists.');
|
|
607
|
+
}
|
|
608
|
+
// Nothing is packaged, but `project` is still defaulted from the working directory the way every
|
|
609
|
+
// other deploy path defaults it — omitting it would make `harper deploy deployment_id=<id>` the one
|
|
610
|
+
// form that demands an explicit project.
|
|
611
|
+
if (!req.project)
|
|
612
|
+
req.project = (0, componentNames_ts_1.directoryProjectName)(process.cwd());
|
|
613
|
+
return;
|
|
614
|
+
}
|
|
602
615
|
if (req.package) {
|
|
603
616
|
return;
|
|
604
617
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../bin/cliOperations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cliOperations.js","sourceRoot":"","sources":["../../bin/cliOperations.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/restart.js
CHANGED
|
@@ -57,15 +57,21 @@ const restartExitWatchdog_ts_1 = require("./restartExitWatchdog.js");
|
|
|
57
57
|
envMgr.initSync();
|
|
58
58
|
const RESTART_RESPONSE = `Restarting Harper. This may take up to ${hdbTerms.RESTART_TIMEOUT_MS / 1000} seconds.`;
|
|
59
59
|
const INVALID_SERVICE_ERR = 'Invalid service';
|
|
60
|
+
const ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS = 5000;
|
|
60
61
|
let calledFromCli;
|
|
61
62
|
// Add ITC event listener to main thread which will be called from child that receives restart request.
|
|
62
63
|
if (worker_threads_1.isMainThread) {
|
|
63
64
|
(0, manageThreads_js_1.onMessageByType)(hdbTerms.ITC_EVENT_TYPES.RESTART, async (message, port) => {
|
|
64
65
|
try {
|
|
66
|
+
// `scope` stays in its wire form ('' pool, a name, absent = all) until restartService decodes it once
|
|
65
67
|
if (message.removeBranchesFor)
|
|
66
|
-
await restartThenRemoveBranches(message.workerType, message.removeBranchesFor);
|
|
68
|
+
await restartThenRemoveBranches(message.workerType, message.removeBranchesFor, message.scope);
|
|
67
69
|
else if (message.workerType)
|
|
68
|
-
await restartService({
|
|
70
|
+
await restartService({
|
|
71
|
+
service: message.workerType,
|
|
72
|
+
scope: message.scope,
|
|
73
|
+
scopeFallback: message.scopeFallback,
|
|
74
|
+
});
|
|
69
75
|
else
|
|
70
76
|
restart({ operation: 'restart' });
|
|
71
77
|
}
|
|
@@ -78,13 +84,13 @@ if (worker_threads_1.isMainThread) {
|
|
|
78
84
|
* Restart, then remove the branches of an application dropped on a worker (which cannot outlive the
|
|
79
85
|
* restart it asked for). The restart happens even if the component lock cannot be taken.
|
|
80
86
|
*/
|
|
81
|
-
async function restartThenRemoveBranches(service, project) {
|
|
87
|
+
async function restartThenRemoveBranches(service, project, scope) {
|
|
82
88
|
let restarted = false;
|
|
83
89
|
const restartHttpWorkers = async () => {
|
|
84
90
|
restarted = true;
|
|
85
91
|
processMan.expectedRestartOfChildren();
|
|
86
92
|
harper_logger_ts_1.default.notify('Restarting http_workers');
|
|
87
|
-
return (0, manageThreads_js_1.restartWorkers)('http');
|
|
93
|
+
return (0, manageThreads_js_1.restartWorkers)('http', undefined, true, null, (0, manageThreads_js_1.decodeRestartScope)({ scope }));
|
|
88
94
|
};
|
|
89
95
|
try {
|
|
90
96
|
const componentPath = path.join((0, configUtils_ts_1.getConfigPath)(hdbTerms.CONFIG_PARAMS.COMPONENTSROOT), project);
|
|
@@ -112,7 +118,7 @@ async function restartThenRemoveBranches(service, project) {
|
|
|
112
118
|
catch (error) {
|
|
113
119
|
harper_logger_ts_1.default.error(`Could not remove the branched database storage of ${project}`, error);
|
|
114
120
|
if (!restarted)
|
|
115
|
-
await restartService({ service });
|
|
121
|
+
await restartService({ service, scope });
|
|
116
122
|
}
|
|
117
123
|
}
|
|
118
124
|
/**
|
|
@@ -198,6 +204,28 @@ async function restartService(req) {
|
|
|
198
204
|
if (hdbTerms.HDB_PROCESS_SERVICES[service] === undefined) {
|
|
199
205
|
throw (0, hdbError_ts_1.handleHDBError)(new Error(), INVALID_SERVICE_ERR, HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
|
|
200
206
|
}
|
|
207
|
+
const requestedScope = (0, manageThreads_js_1.decodeRestartScope)(req);
|
|
208
|
+
if (requestedScope !== undefined && typeof requestedScope !== 'string') {
|
|
209
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'Invalid HTTP worker restart scope: expected a string', HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
|
|
210
|
+
}
|
|
211
|
+
let fallbackScope;
|
|
212
|
+
if (req.scopeFallback !== undefined) {
|
|
213
|
+
fallbackScope = (0, manageThreads_js_1.decodeRestartScope)({ scope: req.scopeFallback });
|
|
214
|
+
if (fallbackScope !== undefined) {
|
|
215
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), 'Invalid HTTP worker restart scope fallback: expected the pool scope', HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
if (typeof requestedScope === 'string' && requestedScope !== '*' && req.scopeFallback === undefined) {
|
|
219
|
+
envMgr.initSync(true);
|
|
220
|
+
const { isIsolatedApplication } = await import("../server/threads/isolatedApplications.js");
|
|
221
|
+
const configured = isIsolatedApplication(requestedScope);
|
|
222
|
+
const runningApplications = configured
|
|
223
|
+
? []
|
|
224
|
+
: await (0, manageThreads_js_1.getRunningIsolatedApplications)(ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS);
|
|
225
|
+
if (!configured && !runningApplications.includes(requestedScope)) {
|
|
226
|
+
throw (0, hdbError_ts_1.handleHDBError)(new Error(), `Unknown isolated application restart scope: ${requestedScope}`, HTTP_STATUS_CODES.BAD_REQUEST, undefined, undefined, true);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
201
229
|
processMan.expectedRestartOfChildren();
|
|
202
230
|
if (!worker_threads_1.isMainThread) {
|
|
203
231
|
if (req.replicated) {
|
|
@@ -206,6 +234,8 @@ async function restartService(req) {
|
|
|
206
234
|
worker_threads_1.parentPort.postMessage({
|
|
207
235
|
type: hdbTerms.ITC_EVENT_TYPES.RESTART,
|
|
208
236
|
workerType: service,
|
|
237
|
+
scope: req.scope, // wire form, forwarded as received
|
|
238
|
+
scopeFallback: req.scopeFallback,
|
|
209
239
|
});
|
|
210
240
|
worker_threads_1.parentPort.ref(); // don't let the parent thread exit until we're done
|
|
211
241
|
await new Promise((resolve) => {
|
|
@@ -280,7 +310,13 @@ async function restartService(req) {
|
|
|
280
310
|
await processMan.restart(hdbTerms.PROCESS_DESCRIPTORS.HDB);
|
|
281
311
|
}
|
|
282
312
|
else {
|
|
283
|
-
|
|
313
|
+
let scope = requestedScope;
|
|
314
|
+
if (req.scopeFallback !== undefined && typeof scope === 'string' && scope !== '*') {
|
|
315
|
+
const runningApplications = await (0, manageThreads_js_1.getRunningIsolatedApplications)(ISOLATED_TOPOLOGY_REQUEST_TIMEOUT_MS);
|
|
316
|
+
if (!runningApplications.includes(scope))
|
|
317
|
+
scope = fallbackScope;
|
|
318
|
+
}
|
|
319
|
+
await (0, manageThreads_js_1.restartWorkers)('http', undefined, true, null, scope);
|
|
284
320
|
}
|
|
285
321
|
break;
|
|
286
322
|
default:
|
package/dist/bin/restart.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../bin/restart.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"restart.js","sourceRoot":"","sources":["../../bin/restart.ts"],"names":[],"mappings":"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"}
|