@harperfast/harper 5.2.13 → 5.3.0-beta.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/agent/mcpTools.ts +1 -1
- package/agent/session.ts +25 -14
- package/bin/cliOperations.ts +58 -9
- package/bin/copyDb.ts +282 -59
- package/bin/deploySetup.ts +16 -5
- package/bin/harper.ts +1 -1
- package/bin/help.ts +4 -1
- package/bin/lite.ts +4 -1
- package/bin/restart.ts +120 -4
- package/bin/run.ts +6 -11
- package/bin/upgrade.js +7 -3
- package/bin/workloadIdentity.ts +119 -0
- package/components/Application.ts +3436 -242
- package/components/ApplicationScope.ts +8 -0
- package/components/EntryHandler.ts +59 -39
- package/components/OptionsWatcher.ts +440 -98
- package/components/RuntimeModuleTracker.ts +38 -7
- package/components/Scope.ts +56 -15
- package/components/awaitRestart.ts +84 -0
- package/components/componentLoader.ts +381 -32
- package/components/componentPreparationLock.ts +16 -5
- package/components/deploymentOperations.ts +4 -1
- package/components/deploymentRecorder.ts +9 -2
- package/components/mcp/adapters/harperHttp.ts +4 -0
- package/components/mcp/listChanged.ts +4 -0
- package/components/mcp/toolRegistry.ts +2 -0
- package/components/mcp/tools/operations.ts +9 -0
- package/components/mcp/tools/schemas/operationDescriptions.ts +2 -2
- package/components/operations.js +537 -113
- package/components/operationsValidation.js +98 -3
- package/components/packageComponent.ts +25 -1
- package/components/requestRestart.ts +11 -0
- package/components/status/ComponentStatusRegistry.ts +59 -0
- package/config/RootConfigWatcher.ts +240 -40
- package/config/configReadRetry.ts +62 -0
- package/config/configUtils.ts +357 -48
- package/config/harperConfigEnvVars.ts +170 -27
- package/config/parseConfigFile.ts +34 -0
- package/config/readConfigFileSync.ts +44 -0
- package/config/watcherArming.ts +59 -0
- package/config-root.schema.json +33 -0
- package/dataLayer/blobBackup.ts +160 -50
- package/dataLayer/delete.ts +6 -1
- package/dataLayer/harperBridge/ResourceBridge.ts +80 -10
- package/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dataLayer/hdbInfoController.ts +34 -1
- package/dataLayer/insert.ts +44 -1
- package/dataLayer/rocksdbBackup.ts +53 -10
- package/dataLayer/schema.ts +11 -1
- package/dataLayer/schemaDescribe.ts +8 -1
- package/dist/agent/mcpTools.js +1 -1
- package/dist/agent/mcpTools.js.map +1 -1
- package/dist/agent/session.d.ts +22 -0
- package/dist/agent/session.js +26 -15
- package/dist/agent/session.js.map +1 -1
- package/dist/bin/cliOperations.js +61 -9
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.d.ts +12 -1
- package/dist/bin/copyDb.js +248 -60
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/bin/deploySetup.d.ts +2 -0
- package/dist/bin/deploySetup.js +11 -3
- package/dist/bin/deploySetup.js.map +1 -1
- package/dist/bin/harper.js +1 -1
- package/dist/bin/harper.js.map +1 -1
- package/dist/bin/help.js +4 -1
- package/dist/bin/help.js.map +1 -1
- package/dist/bin/lite.js +4 -1
- package/dist/bin/lite.js.map +1 -1
- package/dist/bin/restart.js +91 -6
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/run.js +4 -10
- package/dist/bin/run.js.map +1 -1
- package/dist/bin/upgrade.js +4 -3
- package/dist/bin/upgrade.js.map +1 -1
- package/dist/bin/workloadIdentity.d.ts +18 -0
- package/dist/bin/workloadIdentity.js +100 -0
- package/dist/bin/workloadIdentity.js.map +1 -0
- package/dist/components/Application.d.ts +235 -17
- package/dist/components/Application.js +3038 -238
- package/dist/components/Application.js.map +1 -1
- package/dist/components/ApplicationScope.d.ts +8 -0
- package/dist/components/ApplicationScope.js +7 -0
- package/dist/components/ApplicationScope.js.map +1 -1
- package/dist/components/EntryHandler.js +26 -10
- package/dist/components/EntryHandler.js.map +1 -1
- package/dist/components/OptionsWatcher.d.ts +4 -0
- package/dist/components/OptionsWatcher.js +440 -99
- package/dist/components/OptionsWatcher.js.map +1 -1
- package/dist/components/RuntimeModuleTracker.js +40 -6
- package/dist/components/RuntimeModuleTracker.js.map +1 -1
- package/dist/components/Scope.js +52 -13
- package/dist/components/Scope.js.map +1 -1
- package/dist/components/awaitRestart.d.ts +33 -0
- package/dist/components/awaitRestart.js +61 -0
- package/dist/components/awaitRestart.js.map +1 -0
- package/dist/components/componentLoader.d.ts +38 -1
- package/dist/components/componentLoader.js +313 -24
- package/dist/components/componentLoader.js.map +1 -1
- package/dist/components/componentPreparationLock.d.ts +5 -0
- package/dist/components/componentPreparationLock.js +14 -6
- package/dist/components/componentPreparationLock.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/adapters/harperHttp.js +4 -0
- package/dist/components/mcp/adapters/harperHttp.js.map +1 -1
- package/dist/components/mcp/listChanged.js +5 -0
- package/dist/components/mcp/listChanged.js.map +1 -1
- package/dist/components/mcp/toolRegistry.d.ts +1 -0
- package/dist/components/mcp/toolRegistry.js.map +1 -1
- package/dist/components/mcp/tools/operations.d.ts +5 -0
- package/dist/components/mcp/tools/operations.js +9 -0
- package/dist/components/mcp/tools/operations.js.map +1 -1
- package/dist/components/mcp/tools/schemas/operationDescriptions.js +2 -2
- package/dist/components/mcp/tools/schemas/operationDescriptions.js.map +1 -1
- package/dist/components/operations.d.ts +28 -0
- package/dist/components/operations.js +476 -113
- package/dist/components/operations.js.map +1 -1
- package/dist/components/operationsValidation.js +97 -3
- 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/components/status/ComponentStatusRegistry.d.ts +0 -4
- package/dist/components/status/ComponentStatusRegistry.js +63 -0
- package/dist/components/status/ComponentStatusRegistry.js.map +1 -1
- package/dist/config/RootConfigWatcher.d.ts +9 -1
- package/dist/config/RootConfigWatcher.js +228 -37
- 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 +11 -2
- package/dist/config/configUtils.js +304 -47
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/harperConfigEnvVars.d.ts +16 -0
- package/dist/config/harperConfigEnvVars.js +162 -25
- package/dist/config/harperConfigEnvVars.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/blobBackup.d.ts +49 -20
- package/dist/dataLayer/blobBackup.js +139 -50
- package/dist/dataLayer/blobBackup.js.map +1 -1
- package/dist/dataLayer/delete.js +1 -1
- package/dist/dataLayer/delete.js.map +1 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +14 -1
- package/dist/dataLayer/harperBridge/ResourceBridge.js +72 -12
- package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +3 -1
- package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -1
- package/dist/dataLayer/hdbInfoController.d.ts +10 -0
- package/dist/dataLayer/hdbInfoController.js +30 -1
- package/dist/dataLayer/hdbInfoController.js.map +1 -1
- package/dist/dataLayer/insert.d.ts +9 -1
- package/dist/dataLayer/insert.js +30 -0
- package/dist/dataLayer/insert.js.map +1 -1
- package/dist/dataLayer/rocksdbBackup.d.ts +2 -2
- package/dist/dataLayer/rocksdbBackup.js +45 -8
- package/dist/dataLayer/rocksdbBackup.js.map +1 -1
- package/dist/dataLayer/schema.js +8 -0
- package/dist/dataLayer/schema.js.map +1 -1
- package/dist/dataLayer/schemaDescribe.js +8 -1
- package/dist/dataLayer/schemaDescribe.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/json/systemSchema.json +55 -0
- package/dist/resources/DatabaseTransaction.d.ts +77 -0
- package/dist/resources/DatabaseTransaction.js +586 -54
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -1
- package/dist/resources/LMDBTransaction.js +43 -6
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/PrimaryRocksDatabase.d.ts +1 -0
- package/dist/resources/PrimaryRocksDatabase.js +49 -5
- package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
- package/dist/resources/RecordEncoder.d.ts +20 -0
- package/dist/resources/RecordEncoder.js +110 -9
- package/dist/resources/RecordEncoder.js.map +1 -1
- package/dist/resources/RequestTarget.d.ts +2 -0
- package/dist/resources/RequestTarget.js.map +1 -1
- package/dist/resources/Resource.js +117 -24
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +28 -1
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/RocksIndexStore.d.ts +6 -1
- package/dist/resources/RocksIndexStore.js +24 -9
- package/dist/resources/RocksIndexStore.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.d.ts +24 -1
- package/dist/resources/RocksTransactionLogStore.js +160 -49
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.d.ts +165 -10
- package/dist/resources/Table.js +1805 -303
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +10 -3
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/auditStore.d.ts +181 -2
- package/dist/resources/auditStore.js +640 -29
- package/dist/resources/auditStore.js.map +1 -1
- package/dist/resources/blob.d.ts +129 -9
- package/dist/resources/blob.js +992 -114
- package/dist/resources/blob.js.map +1 -1
- package/dist/resources/branchDatabase.d.ts +48 -0
- package/dist/resources/branchDatabase.js +892 -0
- package/dist/resources/branchDatabase.js.map +1 -0
- package/dist/resources/crdt.js +50 -12
- 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 +157 -14
- package/dist/resources/databases.js +1462 -325
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/defineTable.d.ts +10 -2
- package/dist/resources/defineTable.js +9 -1
- package/dist/resources/defineTable.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.d.ts +1 -1
- package/dist/resources/graphql.js +52 -16
- package/dist/resources/graphql.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +103 -9
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +854 -41
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- 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/longLivedTransactions.d.ts +71 -0
- package/dist/resources/longLivedTransactions.js +358 -0
- package/dist/resources/longLivedTransactions.js.map +1 -0
- package/dist/resources/models/backendRegistry.d.ts +26 -0
- package/dist/resources/models/backendRegistry.js +60 -2
- package/dist/resources/models/backendRegistry.js.map +1 -1
- package/dist/resources/models/bootstrap.d.ts +33 -1
- package/dist/resources/models/bootstrap.js +416 -31
- package/dist/resources/models/bootstrap.js.map +1 -1
- 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 +123 -0
- package/dist/resources/recordLock.js +315 -0
- package/dist/resources/recordLock.js.map +1 -0
- package/dist/resources/recordLockCoordinator.d.ts +557 -0
- package/dist/resources/recordLockCoordinator.js +2565 -0
- package/dist/resources/recordLockCoordinator.js.map +1 -0
- package/dist/resources/replayLogs.d.ts +14 -1
- package/dist/resources/replayLogs.js +157 -24
- package/dist/resources/replayLogs.js.map +1 -1
- package/dist/resources/replayLogsGuards.d.ts +94 -7
- package/dist/resources/replayLogsGuards.js +111 -7
- package/dist/resources/replayLogsGuards.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 +283 -37
- 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.d.ts +1 -1
- package/dist/resources/transactionBroadcast.js +2 -2
- package/dist/resources/transactionBroadcast.js.map +1 -1
- package/dist/security/auth.js +61 -30
- package/dist/security/auth.js.map +1 -1
- package/dist/security/authn/oidc/claims.d.ts +22 -0
- package/dist/security/authn/oidc/claims.js +71 -0
- package/dist/security/authn/oidc/claims.js.map +1 -0
- package/dist/security/authn/oidc/identityToken.d.ts +27 -0
- package/dist/security/authn/oidc/identityToken.js +111 -0
- package/dist/security/authn/oidc/identityToken.js.map +1 -0
- package/dist/security/authn/oidc/jwks.d.ts +25 -0
- package/dist/security/authn/oidc/jwks.js +261 -0
- package/dist/security/authn/oidc/jwks.js.map +1 -0
- package/dist/security/authn/oidc/providers/generic.d.ts +13 -0
- package/dist/security/authn/oidc/providers/generic.js +34 -0
- package/dist/security/authn/oidc/providers/generic.js.map +1 -0
- package/dist/security/authn/oidc/providers/githubActions.d.ts +11 -0
- package/dist/security/authn/oidc/providers/githubActions.js +129 -0
- package/dist/security/authn/oidc/providers/githubActions.js.map +1 -0
- package/dist/security/authn/oidc/providers/index.d.ts +37 -0
- package/dist/security/authn/oidc/providers/index.js +24 -0
- package/dist/security/authn/oidc/providers/index.js.map +1 -0
- package/dist/security/authn/oidc/tokenExchange.d.ts +12 -0
- package/dist/security/authn/oidc/tokenExchange.js +306 -0
- package/dist/security/authn/oidc/tokenExchange.js.map +1 -0
- package/dist/security/authn/oidc/trustPolicyOperations.d.ts +49 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js +358 -0
- package/dist/security/authn/oidc/trustPolicyOperations.js.map +1 -0
- package/dist/security/authn/oidc/types.d.ts +38 -0
- package/dist/security/authn/oidc/types.js +6 -0
- package/dist/security/authn/oidc/types.js.map +1 -0
- package/dist/security/certificateVerification/index.js +40 -11
- package/dist/security/certificateVerification/index.js.map +1 -1
- package/dist/security/certificateVerification/trustedIssuers.d.ts +24 -0
- package/dist/security/certificateVerification/trustedIssuers.js +79 -0
- package/dist/security/certificateVerification/trustedIssuers.js.map +1 -0
- package/dist/security/certificateVerification/types.d.ts +1 -0
- package/dist/security/credentialProvenance.d.ts +35 -0
- package/dist/security/credentialProvenance.js +51 -0
- package/dist/security/credentialProvenance.js.map +1 -0
- package/dist/security/credentialRejection.d.ts +4 -0
- package/dist/security/credentialRejection.js +24 -0
- package/dist/security/credentialRejection.js.map +1 -0
- package/dist/security/deferredAuthentication.d.ts +36 -0
- package/dist/security/deferredAuthentication.js +70 -0
- package/dist/security/deferredAuthentication.js.map +1 -0
- package/dist/security/impersonation.d.ts +21 -0
- package/dist/security/impersonation.js +108 -9
- package/dist/security/impersonation.js.map +1 -1
- package/dist/security/jsLoader.d.ts +6 -0
- package/dist/security/jsLoader.js +77 -15
- package/dist/security/jsLoader.js.map +1 -1
- package/dist/security/keys.js +301 -71
- package/dist/security/keys.js.map +1 -1
- package/dist/security/operationScope.d.ts +21 -0
- package/dist/security/operationScope.js +36 -0
- package/dist/security/operationScope.js.map +1 -0
- package/dist/security/permissionsTranslator.js +21 -0
- package/dist/security/permissionsTranslator.js.map +1 -1
- package/dist/security/tokenAuthentication.d.ts +19 -1
- package/dist/security/tokenAuthentication.js +191 -10
- package/dist/security/tokenAuthentication.js.map +1 -1
- package/dist/security/user.js +4 -3
- package/dist/security/user.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -2
- package/dist/server/DurableSubscriptionsSession.js +67 -10
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/REST.js +106 -2
- package/dist/server/REST.js.map +1 -1
- package/dist/server/graphqlQuerying.js +4 -0
- package/dist/server/graphqlQuerying.js.map +1 -1
- package/dist/server/http.d.ts +16 -1
- package/dist/server/http.js +122 -17
- package/dist/server/http.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +8 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/jobs/jobProcess.js +6 -2
- package/dist/server/jobs/jobProcess.js.map +1 -1
- package/dist/server/jobs/jobs.js +4 -1
- package/dist/server/jobs/jobs.js.map +1 -1
- package/dist/server/liveSubscriptionAuth.d.ts +26 -4
- package/dist/server/liveSubscriptionAuth.js +105 -39
- package/dist/server/liveSubscriptionAuth.js.map +1 -1
- package/dist/server/loadRootComponents.js +49 -10
- package/dist/server/loadRootComponents.js.map +1 -1
- package/dist/server/mqtt.d.ts +2 -0
- package/dist/server/mqtt.js +165 -30
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/nodeName.d.ts +2 -0
- package/dist/server/nodeName.js +107 -23
- package/dist/server/nodeName.js.map +1 -1
- package/dist/server/serverHelpers/Headers.d.ts +27 -0
- package/dist/server/serverHelpers/Headers.js +145 -1
- 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 +11 -0
- package/dist/server/serverHelpers/contentTypes.js +221 -40
- package/dist/server/serverHelpers/contentTypes.js.map +1 -1
- package/dist/server/serverHelpers/deployValidationState.d.ts +3 -0
- package/dist/server/serverHelpers/deployValidationState.js +9 -19
- package/dist/server/serverHelpers/deployValidationState.js.map +1 -1
- package/dist/server/serverHelpers/operationAuthorizationState.d.ts +12 -0
- package/dist/server/serverHelpers/operationAuthorizationState.js +24 -2
- package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -1
- package/dist/server/serverHelpers/registeredOperations.d.ts +5 -4
- package/dist/server/serverHelpers/registeredOperations.js +74 -21
- package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
- package/dist/server/serverHelpers/requestSanitization.d.ts +11 -0
- package/dist/server/serverHelpers/requestSanitization.js +20 -0
- package/dist/server/serverHelpers/requestSanitization.js.map +1 -0
- package/dist/server/serverHelpers/serverHandlers.js +6 -3
- package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
- package/dist/server/serverHelpers/serverUtilities.d.ts +18 -0
- package/dist/server/serverHelpers/serverUtilities.js +178 -29
- package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
- package/dist/server/serverHelpers/sharedMessageEncoding.d.ts +67 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js +280 -0
- package/dist/server/serverHelpers/sharedMessageEncoding.js.map +1 -0
- package/dist/server/serverHelpers/uwsServer.js +19 -1
- package/dist/server/serverHelpers/uwsServer.js.map +1 -1
- package/dist/server/static.js +24 -28
- package/dist/server/static.js.map +1 -1
- package/dist/server/storageReclamation.d.ts +5 -0
- package/dist/server/storageReclamation.js +17 -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/itc.d.ts +7 -2
- package/dist/server/threads/itc.js +5 -1
- package/dist/server/threads/itc.js.map +1 -1
- 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 +83 -3
- package/dist/server/threads/manageThreads.js +769 -75
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/server/threads/socketRouter.d.ts +1 -0
- package/dist/server/threads/socketRouter.js +277 -31
- package/dist/server/threads/socketRouter.js.map +1 -1
- package/dist/server/threads/threadHeapMemory.d.ts +2 -0
- package/dist/server/threads/threadHeapMemory.js +31 -0
- package/dist/server/threads/threadHeapMemory.js.map +1 -0
- package/dist/server/threads/threadServer.js +76 -22
- package/dist/server/threads/threadServer.js.map +1 -1
- package/dist/sqlEngine/config.d.ts +1 -3
- package/dist/sqlEngine/config.js +19 -16
- package/dist/sqlEngine/config.js.map +1 -1
- package/dist/sqlTranslator/index.d.ts +1 -1
- package/dist/sqlTranslator/index.js +30 -7
- package/dist/sqlTranslator/index.js.map +1 -1
- package/dist/upgrade/directives/5-3-0.d.ts +7 -0
- package/dist/upgrade/directives/5-3-0.js +148 -0
- package/dist/upgrade/directives/5-3-0.js.map +1 -0
- package/dist/upgrade/directives/directivesController.js +2 -1
- package/dist/upgrade/directives/directivesController.js.map +1 -1
- package/dist/utility/OperationFunctionCaller.js +2 -1
- package/dist/utility/OperationFunctionCaller.js.map +1 -1
- package/dist/utility/common_utils.d.ts +16 -0
- package/dist/utility/common_utils.js +32 -6
- package/dist/utility/common_utils.js.map +1 -1
- package/dist/utility/componentNames.d.ts +8 -0
- package/dist/utility/componentNames.js +12 -1
- package/dist/utility/componentNames.js.map +1 -1
- package/dist/utility/environment/environmentManager.js +3 -6
- package/dist/utility/environment/environmentManager.js.map +1 -1
- package/dist/utility/environment/systemInformation.d.ts +1 -0
- package/dist/utility/environment/systemInformation.js +1 -0
- package/dist/utility/environment/systemInformation.js.map +1 -1
- package/dist/utility/errors/commonErrors.d.ts +2 -0
- package/dist/utility/errors/commonErrors.js +2 -0
- package/dist/utility/errors/commonErrors.js.map +1 -1
- package/dist/utility/errors/hdbError.d.ts +33 -0
- package/dist/utility/errors/hdbError.js +58 -1
- package/dist/utility/errors/hdbError.js.map +1 -1
- package/dist/utility/globalSchema.d.ts +18 -0
- package/dist/utility/hdbTerms.d.ts +18 -0
- package/dist/utility/hdbTerms.js +20 -2
- package/dist/utility/hdbTerms.js.map +1 -1
- package/dist/utility/logging/harper_logger.d.ts +2 -0
- package/dist/utility/logging/harper_logger.js +286 -30
- 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 +192 -85
- package/dist/utility/logging/logRotator.js.map +1 -1
- package/dist/utility/nodeIdentity.d.ts +9 -0
- package/dist/utility/nodeIdentity.js +58 -0
- package/dist/utility/nodeIdentity.js.map +1 -0
- package/dist/utility/npmUtilities.js +11 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/dist/utility/operationPermissions.d.ts +3 -1
- package/dist/utility/operationPermissions.js +16 -1
- package/dist/utility/operationPermissions.js.map +1 -1
- package/dist/utility/operation_authorization.d.ts +10 -7
- package/dist/utility/operation_authorization.js +212 -41
- package/dist/utility/operation_authorization.js.map +1 -1
- package/dist/utility/watchPath.d.ts +29 -0
- package/dist/utility/watchPath.js +68 -0
- package/dist/utility/watchPath.js.map +1 -0
- package/dist/utility/watcherFallback.d.ts +41 -0
- package/dist/utility/watcherFallback.js +153 -0
- package/dist/utility/watcherFallback.js.map +1 -1
- package/dist/validation/configValidator.d.ts +12 -0
- package/dist/validation/configValidator.js +205 -75
- package/dist/validation/configValidator.js.map +1 -1
- package/dist/validation/installValidator.js +12 -0
- package/dist/validation/installValidator.js.map +1 -1
- package/dist/validation/validationWrapper.d.ts +11 -0
- package/dist/validation/validationWrapper.js +16 -3
- package/dist/validation/validationWrapper.js.map +1 -1
- package/index.ts +8 -0
- package/json/systemSchema.json +55 -0
- package/npm-shrinkwrap.json +286 -194
- package/package.json +15 -7
- package/resources/DESIGN.md +219 -52
- package/resources/DatabaseTransaction.ts +657 -52
- package/resources/LMDBTransaction.ts +46 -6
- package/resources/PrimaryRocksDatabase.ts +46 -7
- package/resources/RecordEncoder.ts +124 -9
- package/resources/RequestTarget.ts +2 -0
- package/resources/Resource.ts +114 -22
- package/resources/ResourceInterface.ts +31 -0
- package/resources/RocksIndexStore.ts +30 -9
- package/resources/RocksTransactionLogStore.ts +188 -51
- package/resources/Table.ts +1960 -301
- package/resources/analytics/write.ts +10 -3
- package/resources/auditStore.ts +647 -32
- package/resources/blob.ts +1029 -110
- package/resources/branchDatabase.ts +941 -0
- package/resources/crdt.ts +76 -12
- package/resources/dataLoader.ts +3 -4
- package/resources/databases.ts +1584 -320
- package/resources/defineTable.ts +18 -2
- package/resources/derivedIndexRegistry.ts +56 -0
- package/resources/derivedIndexRuntime.ts +2292 -0
- package/resources/graphql.ts +72 -17
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +911 -48
- package/resources/indexes/hnswDerivedIndex.ts +531 -0
- package/resources/indexes/hnswPlaneBinding.ts +174 -0
- package/resources/longLivedTransactions.ts +360 -0
- package/resources/models/backendRegistry.ts +84 -2
- package/resources/models/bootstrap.ts +473 -28
- package/resources/nodeIdMapping.ts +50 -0
- package/resources/recordLock.ts +419 -0
- package/resources/recordLockCoordinator.ts +3043 -0
- package/resources/replayLogs.ts +152 -26
- package/resources/replayLogsGuards.ts +171 -8
- package/resources/replicatedApplyFailure.ts +77 -0
- package/resources/scheduler/scheduler.ts +4 -4
- package/resources/search.ts +288 -46
- package/resources/tracked.ts +73 -22
- package/resources/transactionBroadcast.ts +3 -3
- package/security/auth.ts +68 -29
- package/security/authn/oidc/claims.ts +72 -0
- package/security/authn/oidc/identityToken.ts +129 -0
- package/security/authn/oidc/jwks.ts +260 -0
- package/security/authn/oidc/providers/generic.ts +40 -0
- package/security/authn/oidc/providers/githubActions.ts +137 -0
- package/security/authn/oidc/providers/index.ts +52 -0
- package/security/authn/oidc/tokenExchange.ts +300 -0
- package/security/authn/oidc/trustPolicyOperations.ts +343 -0
- package/security/authn/oidc/types.ts +41 -0
- package/security/certificateVerification/index.ts +54 -13
- package/security/certificateVerification/trustedIssuers.ts +76 -0
- package/security/certificateVerification/types.ts +1 -0
- package/security/credentialProvenance.ts +47 -0
- package/security/credentialRejection.ts +22 -0
- package/security/deferredAuthentication.ts +71 -0
- package/security/impersonation.ts +117 -12
- package/security/jsLoader.ts +83 -18
- package/security/keys.ts +298 -72
- package/security/operationScope.ts +33 -0
- package/security/permissionsTranslator.js +23 -0
- package/security/tokenAuthentication.ts +233 -12
- package/security/user.ts +4 -3
- package/server/DESIGN.md +194 -16
- package/server/DurableSubscriptionsSession.ts +71 -11
- package/server/REST.ts +115 -4
- package/server/graphqlQuerying.ts +4 -0
- package/server/http.ts +133 -20
- package/server/itc/serverHandlers.js +8 -1
- package/server/jobs/jobProcess.ts +8 -2
- package/server/jobs/jobs.ts +4 -1
- package/server/liveSubscriptionAuth.ts +129 -46
- package/server/loadRootComponents.js +50 -8
- package/server/mqtt.ts +179 -38
- package/server/nodeName.ts +103 -21
- package/server/serverHelpers/Headers.ts +135 -0
- package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
- package/server/serverHelpers/Request.ts +33 -131
- package/server/serverHelpers/contentTypes.ts +217 -36
- package/server/serverHelpers/deployValidationState.ts +24 -13
- package/server/serverHelpers/operationAuthorizationState.ts +34 -3
- package/server/serverHelpers/registeredOperations.ts +79 -22
- package/server/serverHelpers/requestSanitization.ts +15 -0
- package/server/serverHelpers/serverHandlers.js +6 -3
- package/server/serverHelpers/serverUtilities.ts +232 -40
- package/server/serverHelpers/sharedMessageEncoding.ts +307 -0
- package/server/serverHelpers/uwsServer.ts +17 -2
- package/server/static.ts +23 -29
- package/server/storageReclamation.ts +15 -2
- package/server/threads/isolatedApplications.ts +157 -0
- package/server/threads/itc.js +11 -1
- package/server/threads/logRotationTransport.ts +40 -0
- package/server/threads/manageThreads.js +771 -66
- package/server/threads/socketRouter.ts +291 -30
- package/server/threads/threadHeapMemory.ts +26 -0
- package/server/threads/threadServer.js +73 -22
- package/sqlTranslator/index.ts +31 -8
- package/studio/web/assets/{Chat-4RrB5134.js → Chat-D3j-1yY1.js} +1 -1
- package/studio/web/assets/{FloatingChat-omlNMDcJ.js → FloatingChat-BxJGYcfB.js} +3 -3
- package/studio/web/assets/{apiToken-Bke3wvfZ.js → apiToken-CT55oWOe.js} +1 -1
- package/studio/web/assets/{applications-DvFDYJgK.js → applications-D9Ct9_vm.js} +1 -1
- package/studio/web/assets/{cssMode-C1vRa7zh.js → cssMode-DV8H7VwA.js} +1 -1
- package/studio/web/assets/{editor-3XRWEDWX.js → editor-uatc0unt.js} +1 -1
- package/studio/web/assets/{html-CTY5tdMr.js → html-Bm6D6paN.js} +1 -1
- package/studio/web/assets/{htmlMode-CG1vSD9t.js → htmlMode-CEn7tpLG.js} +1 -1
- package/studio/web/assets/{index-Dfpeofdu.js → index-BIXW6Pu4.js} +5 -5
- package/studio/web/assets/{index.lazy-B1VOIv-t.js → index.lazy-UI7L-Vrk.js} +1 -1
- package/studio/web/assets/{javascript-CJeJzGnI.js → javascript-CJ0G3AFZ.js} +1 -1
- package/studio/web/assets/{jsonMode-CYPBwM82.js → jsonMode-DQADAYEa.js} +1 -1
- package/studio/web/assets/{languageServices-IKH4GUHl.js → languageServices-CAQJXWcI.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-BC8_gxKG.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
- package/studio/web/assets/{notifications-BfKBpYcq.js → notifications-BbxTU6Aw.js} +1 -1
- package/studio/web/assets/{notifications-DFbArTfC.js → notifications-Cvb3P1lB.js} +1 -1
- package/studio/web/assets/{profile-Q4-T6c-S.js → profile-Yyb7gsvL.js} +1 -1
- package/studio/web/assets/{regions-CtkV0xje.js → regions-OgjGHlU5.js} +1 -1
- package/studio/web/assets/{register-1ZZuMsiA.js → register-6qwNEOY3.js} +2 -2
- package/studio/web/assets/{setComponentFile-ZWLcWv5X.js → setComponentFile-BilDMtgB.js} +1 -1
- package/studio/web/assets/{setup-DWprJyJy.js → setup-J6qJ7OIU.js} +2 -2
- package/studio/web/assets/{status--aNm8isn.js → status-0RWGcfyD.js} +1 -1
- package/studio/web/assets/{toggleHighContrast-Cq_lt3XD.js → toggleHighContrast-BIn-vErT.js} +1 -1
- package/studio/web/assets/{tsMode-pjgytARx.js → tsMode-DgUXku4d.js} +1 -1
- package/studio/web/assets/{typescript-Cdg0mqUh.js → typescript-C9orXcsM.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-RZhaY8Rn.js → useEntityRestURL-BEoXXbUB.js} +1 -1
- package/studio/web/assets/{workers-BgoXIqQe.js → workers-JVzSDmgx.js} +1 -1
- package/studio/web/assets/{xml-BwSeDMiP.js → xml-Cq-S8S4X.js} +1 -1
- package/studio/web/assets/{yaml-DotCUG5l.js → yaml-sfoRdh1M.js} +1 -1
- package/studio/web/index.html +1 -1
- package/upgrade/directives/5-3-0.ts +132 -0
- package/upgrade/directives/directivesController.ts +2 -1
- package/utility/OperationFunctionCaller.ts +2 -1
- package/utility/common_utils.ts +30 -5
- package/utility/componentNames.ts +12 -0
- package/utility/environment/environmentManager.ts +3 -7
- package/utility/environment/systemInformation.ts +7 -0
- package/utility/errors/commonErrors.ts +4 -0
- package/utility/errors/hdbError.ts +57 -0
- package/utility/hdbTerms.ts +19 -0
- package/utility/logging/harper_logger.ts +278 -26
- package/utility/logging/logGenerationCoordinator.ts +196 -0
- package/utility/logging/logRotation.ts +367 -0
- package/utility/logging/logRotator.ts +213 -81
- package/utility/nodeIdentity.ts +45 -0
- package/utility/npmUtilities.ts +12 -8
- package/utility/operationPermissions.ts +18 -1
- package/utility/operation_authorization.ts +231 -42
- package/utility/watchPath.ts +63 -0
- package/utility/watcherFallback.ts +148 -0
- package/validation/configValidator.ts +215 -75
- package/validation/installValidator.ts +15 -0
- package/validation/validationWrapper.ts +18 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recordLockCoordinator.js","sourceRoot":"","sources":["../../resources/recordLockCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
import { RocksDatabase } from '@harperfast/rocksdb-js';
|
|
2
2
|
export declare function structuresWouldShrink(existing: any, updated: any): boolean;
|
|
3
|
-
|
|
3
|
+
/** The total wall-clock budget (ms) a replay may spend, as configured for this process. */
|
|
4
|
+
export declare function replayTimeBudgetMs(): number;
|
|
5
|
+
/**
|
|
6
|
+
* `electedReplayer` marks a caller that has already won a cross-thread election for this store —
|
|
7
|
+
* the branch claim (branchDatabase.ts) — and so may replay off the main thread. It also makes the
|
|
8
|
+
* replay strict: the promise settles (never hangs), and a failure to apply the tail — a commit or
|
|
9
|
+
* write error, a stall or wall-clock abort — rejects instead of quietly serving a rewound store.
|
|
10
|
+
* Undecodable entries and a torn tail stay tolerated in both modes: a crash tears the last frame of
|
|
11
|
+
* a log by construction, and end-of-log is the designed reading of it (see replayLogsGuards.ts). A
|
|
12
|
+
* **mid-log** break is different — entries behind it were acknowledged and are now quarantined — so
|
|
13
|
+
* an elected replay rejects on one rather than publish a branch as a trustworthy point-in-time copy
|
|
14
|
+
* over known lost writes; boot replay still logs it and continues (harper#2016, harper#2063).
|
|
15
|
+
*/
|
|
16
|
+
export declare function replayLogs(rootStore: RocksDatabase, tables: any, electedReplayer?: boolean): Promise<void>;
|
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.structuresWouldShrink = structuresWouldShrink;
|
|
37
|
+
exports.replayTimeBudgetMs = replayTimeBudgetMs;
|
|
37
38
|
exports.replayLogs = replayLogs;
|
|
38
39
|
const logger = __importStar(require("../utility/logging/harper_logger.js"));
|
|
39
40
|
const DatabaseTransaction_ts_1 = require("./DatabaseTransaction.js");
|
|
@@ -63,15 +64,37 @@ function structuresWouldShrink(existing, updated) {
|
|
|
63
64
|
}
|
|
64
65
|
return false;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return
|
|
67
|
+
/** The total wall-clock budget (ms) a replay may spend, as configured for this process. */
|
|
68
|
+
function replayTimeBudgetMs() {
|
|
69
|
+
const configuredReplayTimeout = Number((0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.REPLICATION_REPLAYTIMEOUT));
|
|
70
|
+
return configuredReplayTimeout > 0 ? configuredReplayTimeout : replayLogsGuards_ts_1.REPLAY_WALL_CLOCK_LIMIT_MS;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* `electedReplayer` marks a caller that has already won a cross-thread election for this store —
|
|
74
|
+
* the branch claim (branchDatabase.ts) — and so may replay off the main thread. It also makes the
|
|
75
|
+
* replay strict: the promise settles (never hangs), and a failure to apply the tail — a commit or
|
|
76
|
+
* write error, a stall or wall-clock abort — rejects instead of quietly serving a rewound store.
|
|
77
|
+
* Undecodable entries and a torn tail stay tolerated in both modes: a crash tears the last frame of
|
|
78
|
+
* a log by construction, and end-of-log is the designed reading of it (see replayLogsGuards.ts). A
|
|
79
|
+
* **mid-log** break is different — entries behind it were acknowledged and are now quarantined — so
|
|
80
|
+
* an elected replay rejects on one rather than publish a branch as a trustworthy point-in-time copy
|
|
81
|
+
* over known lost writes; boot replay still logs it and continues (harper#2016, harper#2063).
|
|
82
|
+
*/
|
|
83
|
+
function replayLogs(rootStore, tables, electedReplayer) {
|
|
84
|
+
if (!node_worker_threads_1.isMainThread && !electedReplayer)
|
|
85
|
+
return Promise.resolve(); // ideally we don't do it like this, but for now this is predictable
|
|
86
|
+
return new Promise((resolve, reject) => {
|
|
70
87
|
const acquired = rootStore.tryLock('replayLogs', async () => {
|
|
71
88
|
resolve();
|
|
72
89
|
});
|
|
73
|
-
if (!acquired)
|
|
90
|
+
if (!acquired) {
|
|
91
|
+
// An elected replayer is the store's sole opener, so a held lock is a protocol violation;
|
|
92
|
+
// hanging its awaited promise would wedge the branch claim in CREATING. The boot-scan
|
|
93
|
+
// caller keeps the settle-on-unlock semantics (nothing awaits it).
|
|
94
|
+
if (electedReplayer)
|
|
95
|
+
reject(new Error(`The replay lock for ${rootStore.databaseName} is already held`));
|
|
74
96
|
return;
|
|
97
|
+
}
|
|
75
98
|
// Shed transaction-log files already older than the audit retention window before
|
|
76
99
|
// replaying. A node that crash-loops during recovery never reaches the steady-state
|
|
77
100
|
// cleanup loop, so without this its aged backlog only grows and enlarges each subsequent
|
|
@@ -99,6 +122,10 @@ function replayLogs(rootStore, tables) {
|
|
|
99
122
|
let transaction;
|
|
100
123
|
let lastTimestamp = 0;
|
|
101
124
|
let writes = 0;
|
|
125
|
+
// Writes staged on the currently-open transaction, so a discard can be taken back out of `writes`.
|
|
126
|
+
let stagedWrites = 0;
|
|
127
|
+
// Records dropped because a corrupt frame truncated the transaction they belong to.
|
|
128
|
+
let discardedWrites = 0;
|
|
102
129
|
let skipped = 0;
|
|
103
130
|
// Track forward progress so a backlog of unwritable entries can't grind the boot thread
|
|
104
131
|
// forever (harper#1266). `noProgressRun` counts every entry processed without a successful
|
|
@@ -110,21 +137,47 @@ function replayLogs(rootStore, tables) {
|
|
|
110
137
|
let lastProgressTime = replayStartTime;
|
|
111
138
|
// Total wall-clock budget (ms) for replay, configurable via `replication.replayTimeout`;
|
|
112
139
|
// falls back to the 10-minute default (harper#1316).
|
|
113
|
-
const
|
|
114
|
-
|
|
140
|
+
const replayTimeoutMs = replayTimeBudgetMs();
|
|
141
|
+
// Set on the first unrecoverable failure in elected mode; rejects below instead of publishing
|
|
142
|
+
// a store the replay knows is incomplete.
|
|
143
|
+
let strictFailure;
|
|
144
|
+
const strictAbort = (error, staged) => {
|
|
145
|
+
try {
|
|
146
|
+
staged?.abort();
|
|
147
|
+
}
|
|
148
|
+
catch (abortError) {
|
|
149
|
+
logger.warn('Error aborting a strict replay transaction', abortError);
|
|
150
|
+
}
|
|
151
|
+
strictFailure = error;
|
|
152
|
+
};
|
|
115
153
|
const txnLog = rootStore.auditStore;
|
|
116
|
-
|
|
154
|
+
const entries = txnLog.getRange({
|
|
155
|
+
startFromLastFlushed: true,
|
|
156
|
+
readUncommitted: true,
|
|
157
|
+
trackCorruptTransactions: true,
|
|
158
|
+
});
|
|
159
|
+
for (const auditRecord of entries) {
|
|
117
160
|
if (noProgressRun > 0 && (0, replayLogsGuards_ts_1.shouldAbortStalledReplay)(noProgressRun, performance.now() - lastProgressTime)) {
|
|
118
|
-
|
|
161
|
+
const stallDiagnostic = `Aborting transaction-log replay in ${rootStore.databaseName} database: ${noProgressRun} consecutive audit entries with no successful write (${skipped} skipped as unrecoverable, ${writes} replayed so far). This backlog is making no forward progress and was blocking startup (harper#1266) — typically a peer transaction log whose values reference unresolvable shared structures (harper#1163), or a backlog for a dropped table.`;
|
|
162
|
+
if (electedReplayer) {
|
|
163
|
+
strictAbort(new Error(stallDiagnostic), transaction);
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
logger.fatal(`${stallDiagnostic} Continuing boot without replaying the remainder; shed or relocate the oversized/undecodable peer transaction log(s), or re-clone this node, to recover the unreplayed data.`);
|
|
119
167
|
break;
|
|
120
168
|
}
|
|
121
|
-
const { type, tableId, nodeId, recordId, version, residencyId, expiresAt, originatingOperation, username, extendedType, } = auditRecord;
|
|
169
|
+
const { type, tableId, nodeId, recordId, version, txnLogKey, residencyId, expiresAt, originatingOperation, username, extendedType, } = auditRecord;
|
|
122
170
|
try {
|
|
123
171
|
if ((0, replayLogsGuards_ts_1.classifyAuditEntryForReplay)(extendedType, tableId, true) === 'corrupt-header') {
|
|
124
172
|
skipped++;
|
|
125
173
|
noProgressRun++;
|
|
126
174
|
continue;
|
|
127
175
|
}
|
|
176
|
+
if (type === 'evict') {
|
|
177
|
+
noProgressRun = 0;
|
|
178
|
+
lastProgressTime = performance.now();
|
|
179
|
+
continue;
|
|
180
|
+
}
|
|
128
181
|
const Table = tableById.get(tableId);
|
|
129
182
|
if (!Table) {
|
|
130
183
|
// Entry for a table this node no longer has (dropped/foreign). Not an
|
|
@@ -172,15 +225,39 @@ function replayLogs(rootStore, tables) {
|
|
|
172
225
|
warnedReplayHappening = true;
|
|
173
226
|
console.warn('Harper was not properly shutdown, replaying transaction logs to synchronize database');
|
|
174
227
|
}
|
|
175
|
-
|
|
176
|
-
|
|
228
|
+
// Transactions are delimited by the log key — which is also what `truncatedVersions` records —
|
|
229
|
+
// and each write is replayed at its own stored record version. The two differ for a source
|
|
230
|
+
// fill, and stamping such a record at the log key would move its version forward and make a
|
|
231
|
+
// later legitimate write in between look stale (harper#2411).
|
|
232
|
+
if (lastTimestamp !== txnLogKey) {
|
|
233
|
+
const torn = entries.corruptFrameStop.truncatedVersions.has(lastTimestamp);
|
|
234
|
+
lastTimestamp = txnLogKey;
|
|
177
235
|
try {
|
|
178
|
-
// commit the last transaction since we are starting a new one
|
|
179
|
-
transaction
|
|
236
|
+
// commit the last transaction since we are starting a new one, unless a corrupt
|
|
237
|
+
// frame swallowed the rest of it — half of a source transaction must never become
|
|
238
|
+
// durable, so it is dropped whole and stays in the log for a repaired retry
|
|
239
|
+
if (torn) {
|
|
240
|
+
writes -= stagedWrites;
|
|
241
|
+
discardedWrites += stagedWrites;
|
|
242
|
+
transaction?.abort();
|
|
243
|
+
}
|
|
244
|
+
else
|
|
245
|
+
transaction?.directCommitSync();
|
|
180
246
|
}
|
|
181
247
|
catch (error) {
|
|
182
|
-
|
|
248
|
+
// directCommitSync aborts and detaches its transaction on failure; no cleanup here.
|
|
249
|
+
// The torn branch already backed stagedWrites out of writes before this try, so
|
|
250
|
+
// only a failed COMMIT (never applied) needs it backed out here too — otherwise a
|
|
251
|
+
// commit failure left `writes` counting records that never actually landed.
|
|
252
|
+
if (!torn)
|
|
253
|
+
writes -= stagedWrites;
|
|
254
|
+
if (electedReplayer) {
|
|
255
|
+
strictFailure = error;
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
logger.error(`Error ${torn ? 'discarding a torn' : 'committing'} replay transaction`, error);
|
|
183
259
|
}
|
|
260
|
+
stagedWrites = 0;
|
|
184
261
|
// Abort if replay has exceeded the total wall-clock budget even while making progress
|
|
185
262
|
// (harper#1316, facet a). shouldAbortStalledReplay resets its counters on every write,
|
|
186
263
|
// so a slow-but-progressing replay (deep out-of-order audit chain walk per entry) can
|
|
@@ -189,13 +266,18 @@ function replayLogs(rootStore, tables) {
|
|
|
189
266
|
// is not yet staged, so aborting never tears a same-version (same source-transaction)
|
|
190
267
|
// write batch in half. Re-clone to recover the unreplayed remainder.
|
|
191
268
|
if ((0, replayLogsGuards_ts_1.shouldAbortSlowReplay)(performance.now() - replayStartTime, replayTimeoutMs)) {
|
|
192
|
-
|
|
269
|
+
const slowMessage = `Aborting transaction-log replay in ${rootStore.databaseName} database: replay has exceeded the wall-clock time limit (${writes} written, ${skipped} skipped). The transaction log contains a pathologically deep out-of-order write history that is too expensive to reconcile during boot (harper#1316). Re-clone this node from a healthy leader to recover the unreplayed data.`;
|
|
193
270
|
transaction = undefined; // already committed above; nothing staged for the new version
|
|
271
|
+
if (electedReplayer) {
|
|
272
|
+
strictFailure = new Error(slowMessage);
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
logger.fatal(slowMessage);
|
|
194
276
|
break;
|
|
195
277
|
}
|
|
196
278
|
transaction = new DatabaseTransaction_ts_1.DatabaseTransaction();
|
|
197
279
|
transaction.db = primaryStore;
|
|
198
|
-
transaction.timestamp =
|
|
280
|
+
transaction.timestamp = txnLogKey;
|
|
199
281
|
// retries=1 routes operation.commit() through its retry path (no duplicate audit staging)
|
|
200
282
|
transaction.retries = 1;
|
|
201
283
|
// Explicit replay marker: skips schema validation (harper#1316) and makes save() stamp
|
|
@@ -204,8 +286,9 @@ function replayLogs(rootStore, tables) {
|
|
|
204
286
|
transaction.isReplay = true;
|
|
205
287
|
}
|
|
206
288
|
context.transaction = transaction;
|
|
207
|
-
const options = { context, residencyId, nodeId, originatingOperation };
|
|
289
|
+
const options = { context, residencyId, nodeId, originatingOperation, version };
|
|
208
290
|
writes++;
|
|
291
|
+
stagedWrites++;
|
|
209
292
|
switch (type) {
|
|
210
293
|
case 'put':
|
|
211
294
|
tableInstance._writeUpdate(recordId, record, true, options);
|
|
@@ -274,6 +357,10 @@ function replayLogs(rootStore, tables) {
|
|
|
274
357
|
lastProgressTime = performance.now();
|
|
275
358
|
}
|
|
276
359
|
catch (err) {
|
|
360
|
+
if (electedReplayer) {
|
|
361
|
+
strictAbort(err, transaction);
|
|
362
|
+
break;
|
|
363
|
+
}
|
|
277
364
|
// A write that threw made no forward progress either — count it toward the stall
|
|
278
365
|
// bound so a continuous stream of throwing writes can't grind the boot thread
|
|
279
366
|
// indefinitely (and the per-entry error log below can't spam unboundedly). harper#1266
|
|
@@ -283,18 +370,64 @@ function replayLogs(rootStore, tables) {
|
|
|
283
370
|
});
|
|
284
371
|
}
|
|
285
372
|
}
|
|
286
|
-
|
|
287
|
-
|
|
373
|
+
const finalTorn = entries.corruptFrameStop.truncatedVersions.has(lastTimestamp);
|
|
374
|
+
if (!strictFailure) {
|
|
375
|
+
try {
|
|
376
|
+
if (finalTorn) {
|
|
377
|
+
writes -= stagedWrites;
|
|
378
|
+
discardedWrites += stagedWrites;
|
|
379
|
+
transaction?.abort();
|
|
380
|
+
}
|
|
381
|
+
else
|
|
382
|
+
transaction?.directCommitSync();
|
|
383
|
+
}
|
|
384
|
+
catch (error) {
|
|
385
|
+
// directCommitSync aborts and detaches its transaction on failure; no cleanup here.
|
|
386
|
+
// Mirrors the interior version-boundary catch above: a failed commit never applied, so
|
|
387
|
+
// it must not stay counted in `writes`.
|
|
388
|
+
if (!finalTorn)
|
|
389
|
+
writes -= stagedWrites;
|
|
390
|
+
if (electedReplayer)
|
|
391
|
+
strictFailure = error;
|
|
392
|
+
logger.error(`Error ${finalTorn ? 'discarding a torn' : 'committing'} replay transaction`, error);
|
|
393
|
+
}
|
|
288
394
|
}
|
|
289
|
-
|
|
290
|
-
|
|
395
|
+
// `breaks` also counts a torn tail — the designed, benign reading of a crash's last frame, and
|
|
396
|
+
// the reporter already logged it at `warn`. Only a mid-log break lost entries, so it alone earns
|
|
397
|
+
// this quarantine/repair summary; duplicating it for a torn tail would tell an operator to
|
|
398
|
+
// repair or re-clone the node on every ordinary unclean shutdown.
|
|
399
|
+
if (entries.corruptFrameStop.midLogBreak) {
|
|
400
|
+
logger.error(`Transaction-log replay in ${rootStore.databaseName} database stopped at a corrupt entry after replaying ${writes} records. Every entry after the break is quarantined — neither replayed nor replicated — and ${discardedWrites} record(s) of the transaction the break truncated were discarded rather than applied in part. Repair the transaction log or re-clone this node to recover them.`);
|
|
401
|
+
// electedReplayer must not resolve past known loss — see the doc comment above. Only set
|
|
402
|
+
// strictFailure if nothing has already failed the replay for an unrelated reason, so this
|
|
403
|
+
// diagnostic never shadows a more specific commit/write error.
|
|
404
|
+
if (electedReplayer && !strictFailure) {
|
|
405
|
+
strictFailure = new Error(`Elected replay in ${rootStore.databaseName} database stopped at a mid-log corrupt transaction-log frame; entries behind the break were acknowledged and are now quarantined. Refusing to publish a branch over known lost writes — repair the transaction log or re-clone this node.`);
|
|
406
|
+
}
|
|
291
407
|
}
|
|
292
408
|
if (writes > 0)
|
|
293
409
|
logger.warn(`Replayed ${writes} records in ${rootStore.databaseName} database`);
|
|
294
410
|
if (skipped > 0)
|
|
295
411
|
logger.warn(`Skipped ${skipped} unrecoverable audit entries in ${rootStore.databaseName} database during replay`);
|
|
296
|
-
|
|
297
|
-
|
|
412
|
+
if (strictFailure) {
|
|
413
|
+
// A failed strict replay must be re-runnable: the branch claim resets for a retry, so the
|
|
414
|
+
// lock must not be what survives to wedge it. Only a COMPLETED replay keeps the lock
|
|
415
|
+
// forever (the once-per-boot guarantee). Reject BEFORE unlocking: unlock wakes tryLock
|
|
416
|
+
// callbacks — including this holder's own resolve() — and the first settle must be the
|
|
417
|
+
// rejection, or a failed replay reads as success.
|
|
418
|
+
reject(strictFailure);
|
|
419
|
+
try {
|
|
420
|
+
rootStore.unlock('replayLogs');
|
|
421
|
+
}
|
|
422
|
+
catch (unlockError) {
|
|
423
|
+
logger.warn('Error releasing the replay lock after a failed replay', unlockError);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
else {
|
|
427
|
+
// we never actually release the lock because we only want to ever run one time
|
|
428
|
+
// rootStore.unlock('replayLogs');
|
|
429
|
+
resolve();
|
|
430
|
+
}
|
|
298
431
|
});
|
|
299
432
|
}
|
|
300
433
|
function asBinary(buffer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replayLogs.js","sourceRoot":"","sources":["../../resources/replayLogs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"replayLogs.js","sourceRoot":"","sources":["../../resources/replayLogs.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,11 +60,98 @@ export declare const REPLAY_WALL_CLOCK_LIMIT_MS: number;
|
|
|
60
60
|
*/
|
|
61
61
|
export declare function shouldAbortSlowReplay(totalElapsedMs: number, timeLimitMs?: number): boolean;
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* frame marks end-of-log (entries before it were already yielded) and startup replay /
|
|
67
|
-
* replication broadcast continue. `onCorruptFrame` fires once, latched — kept a callback (not a
|
|
68
|
-
* direct log) so this module stays out of the Harper module graph and is unit-testable.
|
|
63
|
+
* A corrupt transaction-log frame from rocksdb-js. `resyncPosition` is set only when intact entries
|
|
64
|
+
* follow the break, which is what distinguishes lost entries from a merely truncated tail; its
|
|
65
|
+
* absence is also all that any rocksdb-js predating that field can report.
|
|
69
66
|
*/
|
|
70
|
-
export
|
|
67
|
+
export type CorruptFrameError = RangeError & {
|
|
68
|
+
logId?: number | null;
|
|
69
|
+
position?: number | null;
|
|
70
|
+
resyncPosition?: number | null;
|
|
71
|
+
unreadableBytes?: number | null;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Corrupt frames hit by one `getRange` call, shared by its per-log iterators.
|
|
75
|
+
*
|
|
76
|
+
* `truncatedVersions` is what a consumer has to act on: a break destroys the framing after the last
|
|
77
|
+
* entry the broken log yielded, and whether the entries it swallowed continued that entry's version
|
|
78
|
+
* is exactly what can no longer be read — UNLESS that last entry's own `endTxn` already closed its
|
|
79
|
+
* transaction, in which case nothing of it was left open to swallow. That version's transaction is
|
|
80
|
+
* therefore incomplete only when it wasn't already known-closed, and replay must discard it rather
|
|
81
|
+
* than commit the part of it that was still readable. A log that broke before yielding anything
|
|
82
|
+
* truncates no transaction.
|
|
83
|
+
*
|
|
84
|
+
* `midLogBreak` is coarser: true once any break in this range left intact entries unreadable behind
|
|
85
|
+
* it (see {@link isMidLogBreak}), regardless of which version they belonged to. A consumer that must
|
|
86
|
+
* never serve a range with lost entries — an elected branch replay publishing itself as a trustworthy
|
|
87
|
+
* point-in-time copy — rejects on this rather than on `truncatedVersions`, since a mid-log break can
|
|
88
|
+
* strand entries whose version this range never even attributes to one log (harper#2016, #2063).
|
|
89
|
+
*/
|
|
90
|
+
export interface CorruptFrameStop {
|
|
91
|
+
breaks: number;
|
|
92
|
+
truncatedVersions: Set<number>;
|
|
93
|
+
midLogBreak: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Whether a corrupt frame is a mid-log break — intact entries followed it, so entries were lost
|
|
97
|
+
* rather than the log merely being torn at its tail. Shared by the reporter below and by
|
|
98
|
+
* `RocksTransactionLogStore.getRange`'s `CorruptFrameStop.midLogBreak`, so the two can't drift on
|
|
99
|
+
* what counts as a mid-log break.
|
|
100
|
+
*/
|
|
101
|
+
export declare function isMidLogBreak(error: CorruptFrameError): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Wraps a transaction-log query iterator so a corrupt/torn frame ends that log's iteration cleanly
|
|
104
|
+
* instead of escaping as an uncaughtException.
|
|
105
|
+
*
|
|
106
|
+
* Iteration stops at the break whether or not intact entries follow it. Resuming past a mid-log
|
|
107
|
+
* break would recover those entries, but a transaction log carries no frame-level transaction
|
|
108
|
+
* boundaries: replay groups equal-version entries into one source transaction, so skipping a frame
|
|
109
|
+
* inside such a group applies and checkpoints the surviving subset of a transaction that never
|
|
110
|
+
* committed that way at the source. Availability loss is visible and recoverable; a silently torn
|
|
111
|
+
* transaction is neither. Recovery is deferred until the engine can resume at a proven boundary
|
|
112
|
+
* (harper#2016, harper#2063); `resyncPosition` is used only to report the break as lost entries
|
|
113
|
+
* rather than as a truncated tail.
|
|
114
|
+
*/
|
|
115
|
+
export declare function endIteratorOnCorruptFrame<T>(iterator: Iterator<T>, onCorruptFrame: (error: CorruptFrameError) => void): IterableIterator<T>;
|
|
116
|
+
/**
|
|
117
|
+
* A corrupt frame, accumulated for the life of the process. The same frame is re-encountered by
|
|
118
|
+
* every reader until each consumer's resume cursor has passed it, so this is deduplicated by
|
|
119
|
+
* location and the repeats become a count.
|
|
120
|
+
*/
|
|
121
|
+
export interface CorruptFrameReport {
|
|
122
|
+
log: string;
|
|
123
|
+
logId?: number;
|
|
124
|
+
position?: number;
|
|
125
|
+
/** Intact entries followed the break, so entries were lost rather than merely truncated. */
|
|
126
|
+
midLog: boolean;
|
|
127
|
+
/** Extent of the unreadable region, when the engine reports it; 0 when nothing valid follows it. */
|
|
128
|
+
unreadableBytes: number;
|
|
129
|
+
firstSeen: number;
|
|
130
|
+
lastSeen: number;
|
|
131
|
+
occurrences: number;
|
|
132
|
+
}
|
|
133
|
+
/** Distinct break sites retained. One physical corruption yields one site, so this is generous. */
|
|
134
|
+
export declare const MAX_CORRUPT_FRAME_REPORTS = 256;
|
|
135
|
+
/**
|
|
136
|
+
* Every corrupt frame seen by this worker. This is not yet consumed by cluster/health status;
|
|
137
|
+
* callers must aggregate it across worker threads before exposing a node-wide signal.
|
|
138
|
+
*
|
|
139
|
+
* Mid-log breaks are immediately logged at error level even without that consumer.
|
|
140
|
+
*/
|
|
141
|
+
export declare function getCorruptFrameReports(): CorruptFrameReport[];
|
|
142
|
+
/** Break sites evicted because {@link MAX_CORRUPT_FRAME_REPORTS} was reached. */
|
|
143
|
+
export declare function getEvictedCorruptFrameReportCount(): number;
|
|
144
|
+
export declare function clearCorruptFrameReports(): void;
|
|
145
|
+
/**
|
|
146
|
+
* Records a corrupt frame and logs it once per distinct break.
|
|
147
|
+
*
|
|
148
|
+
* A mid-log break is an `error`, not a `warn`: entries after it were acknowledged and are now
|
|
149
|
+
* quarantined behind it. Severity follows the break's own shape, never this pass's outcome — every
|
|
150
|
+
* pass stops, so keying on that would report the #2063 signature with the benign torn-tail `warn`.
|
|
151
|
+
* A site first seen as a torn tail can escalate later, since only a rocksdb-js that reports
|
|
152
|
+
* `resyncPosition` can tell the two apart.
|
|
153
|
+
*/
|
|
154
|
+
export declare function createCorruptFrameReporter(logger: {
|
|
155
|
+
warn: (message: string, error?: unknown) => void;
|
|
156
|
+
error: (message: string, error?: unknown) => void;
|
|
157
|
+
}): (logName: string) => (error: CorruptFrameError) => void;
|