@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.
Files changed (347) hide show
  1. package/bin/cliOperations.ts +12 -0
  2. package/bin/restart.ts +66 -6
  3. package/components/Application.ts +1134 -112
  4. package/components/DESIGN.md +421 -0
  5. package/components/OptionsWatcher.ts +368 -102
  6. package/components/Scope.ts +20 -1
  7. package/components/componentLoader.ts +43 -4
  8. package/components/deploymentOperations.ts +4 -1
  9. package/components/deploymentRecorder.ts +9 -2
  10. package/components/mcp/DESIGN.md +109 -0
  11. package/components/mcp/audit.ts +21 -17
  12. package/components/operations.js +284 -52
  13. package/components/operationsValidation.js +49 -2
  14. package/components/packageComponent.ts +25 -1
  15. package/components/requestRestart.ts +11 -0
  16. package/config/DESIGN.md +306 -0
  17. package/config/RootConfigWatcher.ts +191 -37
  18. package/config/configReadRetry.ts +62 -0
  19. package/config/configUtils.ts +78 -26
  20. package/config/parseConfigFile.ts +34 -0
  21. package/config/readConfigFileSync.ts +44 -0
  22. package/config/watcherArming.ts +59 -0
  23. package/config-root.schema.json +4 -0
  24. package/dataLayer/DESIGN.md +179 -0
  25. package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
  26. package/dataLayer/restoreMarker.ts +92 -25
  27. package/dist/bin/cliOperations.js +13 -0
  28. package/dist/bin/cliOperations.js.map +1 -1
  29. package/dist/bin/restart.js +42 -6
  30. package/dist/bin/restart.js.map +1 -1
  31. package/dist/components/Application.d.ts +104 -9
  32. package/dist/components/Application.js +954 -102
  33. package/dist/components/Application.js.map +1 -1
  34. package/dist/components/OptionsWatcher.d.ts +4 -1
  35. package/dist/components/OptionsWatcher.js +378 -104
  36. package/dist/components/OptionsWatcher.js.map +1 -1
  37. package/dist/components/Scope.js +15 -1
  38. package/dist/components/Scope.js.map +1 -1
  39. package/dist/components/componentLoader.js +35 -3
  40. package/dist/components/componentLoader.js.map +1 -1
  41. package/dist/components/deploymentOperations.js +4 -1
  42. package/dist/components/deploymentOperations.js.map +1 -1
  43. package/dist/components/deploymentRecorder.d.ts +4 -2
  44. package/dist/components/deploymentRecorder.js +1 -0
  45. package/dist/components/deploymentRecorder.js.map +1 -1
  46. package/dist/components/mcp/audit.d.ts +2 -1
  47. package/dist/components/mcp/audit.js +21 -17
  48. package/dist/components/mcp/audit.js.map +1 -1
  49. package/dist/components/operations.d.ts +28 -0
  50. package/dist/components/operations.js +263 -54
  51. package/dist/components/operations.js.map +1 -1
  52. package/dist/components/operationsValidation.js +48 -2
  53. package/dist/components/operationsValidation.js.map +1 -1
  54. package/dist/components/packageComponent.js +24 -0
  55. package/dist/components/packageComponent.js.map +1 -1
  56. package/dist/components/requestRestart.d.ts +1 -0
  57. package/dist/components/requestRestart.js +7 -0
  58. package/dist/components/requestRestart.js.map +1 -1
  59. package/dist/config/RootConfigWatcher.d.ts +2 -0
  60. package/dist/config/RootConfigWatcher.js +189 -35
  61. package/dist/config/RootConfigWatcher.js.map +1 -1
  62. package/dist/config/configReadRetry.d.ts +8 -0
  63. package/dist/config/configReadRetry.js +62 -0
  64. package/dist/config/configReadRetry.js.map +1 -0
  65. package/dist/config/configUtils.d.ts +10 -9
  66. package/dist/config/configUtils.js +63 -27
  67. package/dist/config/configUtils.js.map +1 -1
  68. package/dist/config/parseConfigFile.d.ts +4 -0
  69. package/dist/config/parseConfigFile.js +35 -0
  70. package/dist/config/parseConfigFile.js.map +1 -0
  71. package/dist/config/readConfigFileSync.d.ts +1 -0
  72. package/dist/config/readConfigFileSync.js +47 -0
  73. package/dist/config/readConfigFileSync.js.map +1 -0
  74. package/dist/config/watcherArming.d.ts +15 -0
  75. package/dist/config/watcherArming.js +59 -0
  76. package/dist/config/watcherArming.js.map +1 -0
  77. package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
  78. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  79. package/dist/dataLayer/restoreMarker.d.ts +21 -8
  80. package/dist/dataLayer/restoreMarker.js +94 -27
  81. package/dist/dataLayer/restoreMarker.js.map +1 -1
  82. package/dist/index.d.ts +2 -0
  83. package/dist/index.js +9 -1
  84. package/dist/index.js.map +1 -1
  85. package/dist/json/systemSchema.json +3 -0
  86. package/dist/resources/DatabaseTransaction.d.ts +25 -0
  87. package/dist/resources/DatabaseTransaction.js +224 -18
  88. package/dist/resources/DatabaseTransaction.js.map +1 -1
  89. package/dist/resources/LMDBTransaction.d.ts +2 -1
  90. package/dist/resources/LMDBTransaction.js +22 -3
  91. package/dist/resources/LMDBTransaction.js.map +1 -1
  92. package/dist/resources/PrimaryRocksDatabase.js +22 -6
  93. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  94. package/dist/resources/RecordEncoder.d.ts +1 -1
  95. package/dist/resources/RecordEncoder.js +46 -10
  96. package/dist/resources/RecordEncoder.js.map +1 -1
  97. package/dist/resources/Resource.js +97 -13
  98. package/dist/resources/Resource.js.map +1 -1
  99. package/dist/resources/ResourceInterface.d.ts +8 -0
  100. package/dist/resources/RocksIndexStore.js +2 -1
  101. package/dist/resources/RocksIndexStore.js.map +1 -1
  102. package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
  103. package/dist/resources/RocksTransactionLogStore.js +104 -33
  104. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  105. package/dist/resources/Table.d.ts +58 -7
  106. package/dist/resources/Table.js +1143 -348
  107. package/dist/resources/Table.js.map +1 -1
  108. package/dist/resources/analytics/write.d.ts +3 -0
  109. package/dist/resources/analytics/write.js +49 -16
  110. package/dist/resources/analytics/write.js.map +1 -1
  111. package/dist/resources/auditStore.d.ts +170 -0
  112. package/dist/resources/auditStore.js +457 -11
  113. package/dist/resources/auditStore.js.map +1 -1
  114. package/dist/resources/crdt.d.ts +10 -0
  115. package/dist/resources/crdt.js +22 -0
  116. package/dist/resources/crdt.js.map +1 -1
  117. package/dist/resources/dataLoader.js +3 -4
  118. package/dist/resources/dataLoader.js.map +1 -1
  119. package/dist/resources/databases.d.ts +16 -13
  120. package/dist/resources/databases.js +625 -177
  121. package/dist/resources/databases.js.map +1 -1
  122. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  123. package/dist/resources/derivedIndexRegistry.js +68 -0
  124. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  125. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  126. package/dist/resources/derivedIndexRuntime.js +2027 -0
  127. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  128. package/dist/resources/graphql.js +3 -2
  129. package/dist/resources/graphql.js.map +1 -1
  130. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
  131. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +867 -39
  132. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  133. package/dist/resources/indexes/fullTextDerivedIndex.d.ts +81 -0
  134. package/dist/resources/indexes/fullTextDerivedIndex.js +1004 -0
  135. package/dist/resources/indexes/fullTextDerivedIndex.js.map +1 -0
  136. package/dist/resources/indexes/fullTextNativeBinding.d.ts +78 -0
  137. package/dist/resources/indexes/fullTextNativeBinding.js +85 -0
  138. package/dist/resources/indexes/fullTextNativeBinding.js.map +1 -0
  139. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  140. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  141. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  142. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  143. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  144. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  145. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.d.ts +24 -0
  146. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js +149 -0
  147. package/dist/resources/indexes/nativeFullTextDerivedIndexLifecycle.js.map +1 -0
  148. package/dist/resources/nodeIdMapping.d.ts +5 -0
  149. package/dist/resources/nodeIdMapping.js +49 -0
  150. package/dist/resources/nodeIdMapping.js.map +1 -1
  151. package/dist/resources/recordLock.d.ts +47 -4
  152. package/dist/resources/recordLock.js +138 -7
  153. package/dist/resources/recordLock.js.map +1 -1
  154. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  155. package/dist/resources/recordLockCoordinator.js +2597 -0
  156. package/dist/resources/recordLockCoordinator.js.map +1 -0
  157. package/dist/resources/replayLogs.js +5 -0
  158. package/dist/resources/replayLogs.js.map +1 -1
  159. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  160. package/dist/resources/replicatedApplyFailure.js +63 -0
  161. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  162. package/dist/resources/scheduler/scheduler.js +3 -3
  163. package/dist/resources/scheduler/scheduler.js.map +1 -1
  164. package/dist/resources/search.d.ts +10 -4
  165. package/dist/resources/search.js +160 -40
  166. package/dist/resources/search.js.map +1 -1
  167. package/dist/resources/tracked.d.ts +5 -1
  168. package/dist/resources/tracked.js +74 -23
  169. package/dist/resources/tracked.js.map +1 -1
  170. package/dist/resources/transactionBroadcast.js +4 -6
  171. package/dist/resources/transactionBroadcast.js.map +1 -1
  172. package/dist/security/auth.js +59 -23
  173. package/dist/security/auth.js.map +1 -1
  174. package/dist/security/deferredAuthentication.d.ts +11 -0
  175. package/dist/security/deferredAuthentication.js +25 -3
  176. package/dist/security/deferredAuthentication.js.map +1 -1
  177. package/dist/security/jsLoader.js +9 -4
  178. package/dist/security/jsLoader.js.map +1 -1
  179. package/dist/server/REST.js +39 -5
  180. package/dist/server/REST.js.map +1 -1
  181. package/dist/server/http.d.ts +5 -1
  182. package/dist/server/http.js +34 -2
  183. package/dist/server/http.js.map +1 -1
  184. package/dist/server/mqtt.js +5 -1
  185. package/dist/server/mqtt.js.map +1 -1
  186. package/dist/server/serverHelpers/Headers.d.ts +2 -0
  187. package/dist/server/serverHelpers/Headers.js +6 -0
  188. package/dist/server/serverHelpers/Headers.js.map +1 -1
  189. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  190. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  191. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  192. package/dist/server/serverHelpers/Request.d.ts +5 -10
  193. package/dist/server/serverHelpers/Request.js +38 -136
  194. package/dist/server/serverHelpers/Request.js.map +1 -1
  195. package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
  196. package/dist/server/serverHelpers/contentTypes.js +189 -15
  197. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  198. package/dist/server/serverHelpers/serverUtilities.d.ts +3 -3
  199. package/dist/server/serverHelpers/serverUtilities.js +110 -20
  200. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  201. package/dist/server/serverHelpers/uwsServer.js +4 -1
  202. package/dist/server/serverHelpers/uwsServer.js.map +1 -1
  203. package/dist/server/serverHelpers/webSocketCloseReason.d.ts +2 -0
  204. package/dist/server/serverHelpers/webSocketCloseReason.js +29 -0
  205. package/dist/server/serverHelpers/webSocketCloseReason.js.map +1 -0
  206. package/dist/server/storageReclamation.js +1 -1
  207. package/dist/server/storageReclamation.js.map +1 -1
  208. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  209. package/dist/server/threads/isolatedApplications.js +171 -0
  210. package/dist/server/threads/isolatedApplications.js.map +1 -0
  211. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  212. package/dist/server/threads/logRotationTransport.js +33 -0
  213. package/dist/server/threads/logRotationTransport.js.map +1 -0
  214. package/dist/server/threads/manageThreads.d.ts +64 -6
  215. package/dist/server/threads/manageThreads.js +261 -12
  216. package/dist/server/threads/manageThreads.js.map +1 -1
  217. package/dist/server/threads/socketRouter.d.ts +1 -0
  218. package/dist/server/threads/socketRouter.js +196 -13
  219. package/dist/server/threads/socketRouter.js.map +1 -1
  220. package/dist/server/threads/threadServer.js +30 -7
  221. package/dist/server/threads/threadServer.js.map +1 -1
  222. package/dist/utility/errors/hdbError.d.ts +24 -0
  223. package/dist/utility/errors/hdbError.js +58 -1
  224. package/dist/utility/errors/hdbError.js.map +1 -1
  225. package/dist/utility/hdbTerms.d.ts +2 -0
  226. package/dist/utility/hdbTerms.js +2 -0
  227. package/dist/utility/hdbTerms.js.map +1 -1
  228. package/dist/utility/logging/harper_logger.js +218 -38
  229. package/dist/utility/logging/harper_logger.js.map +1 -1
  230. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  231. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  232. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  233. package/dist/utility/logging/logRotation.d.ts +46 -0
  234. package/dist/utility/logging/logRotation.js +365 -0
  235. package/dist/utility/logging/logRotation.js.map +1 -0
  236. package/dist/utility/logging/logRotator.d.ts +1 -1
  237. package/dist/utility/logging/logRotator.js +172 -92
  238. package/dist/utility/logging/logRotator.js.map +1 -1
  239. package/dist/utility/npmUtilities.js +6 -4
  240. package/dist/utility/npmUtilities.js.map +1 -1
  241. package/dist/utility/watcherFallback.d.ts +0 -45
  242. package/dist/utility/watcherFallback.js +1 -125
  243. package/dist/utility/watcherFallback.js.map +1 -1
  244. package/dist/validation/configValidator.js +6 -3
  245. package/dist/validation/configValidator.js.map +1 -1
  246. package/index.ts +9 -0
  247. package/json/systemSchema.json +3 -0
  248. package/npm-shrinkwrap.json +177 -87
  249. package/package.json +13 -5
  250. package/resources/DESIGN.md +689 -19
  251. package/resources/DatabaseTransaction.ts +230 -17
  252. package/resources/LMDBTransaction.ts +21 -3
  253. package/resources/PrimaryRocksDatabase.ts +20 -7
  254. package/resources/RecordEncoder.ts +52 -10
  255. package/resources/Resource.ts +97 -13
  256. package/resources/ResourceInterface.ts +8 -0
  257. package/resources/RocksIndexStore.ts +2 -1
  258. package/resources/RocksTransactionLogStore.ts +111 -31
  259. package/resources/Table.ts +1273 -396
  260. package/resources/analytics/DESIGN.md +38 -0
  261. package/resources/analytics/write.ts +50 -17
  262. package/resources/auditStore.ts +460 -11
  263. package/resources/crdt.ts +22 -0
  264. package/resources/dataLoader.ts +3 -4
  265. package/resources/databases.ts +611 -147
  266. package/resources/derivedIndexRegistry.ts +56 -0
  267. package/resources/derivedIndexRuntime.ts +2292 -0
  268. package/resources/graphql.ts +3 -2
  269. package/resources/indexes/DESIGN.md +833 -0
  270. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +924 -46
  271. package/resources/indexes/fullTextDerivedIndex.ts +1165 -0
  272. package/resources/indexes/fullTextNativeBinding.ts +146 -0
  273. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  274. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  275. package/resources/indexes/nativeFullTextDerivedIndexLifecycle.ts +181 -0
  276. package/resources/nodeIdMapping.ts +50 -0
  277. package/resources/record-locks.md +1407 -0
  278. package/resources/recordLock.ts +173 -7
  279. package/resources/recordLockCoordinator.ts +3082 -0
  280. package/resources/replayLogs.ts +5 -0
  281. package/resources/replicatedApplyFailure.ts +77 -0
  282. package/resources/scheduler/DESIGN.md +40 -0
  283. package/resources/scheduler/scheduler.ts +4 -4
  284. package/resources/search.ts +169 -49
  285. package/resources/tracked.ts +73 -22
  286. package/resources/transactionBroadcast.ts +4 -4
  287. package/security/DESIGN.md +175 -0
  288. package/security/auth.ts +53 -24
  289. package/security/deferredAuthentication.ts +24 -2
  290. package/security/jsLoader.ts +9 -4
  291. package/server/DESIGN.md +275 -0
  292. package/server/REST.ts +42 -6
  293. package/server/http.ts +34 -2
  294. package/server/mqtt.ts +6 -4
  295. package/server/serverHelpers/Headers.ts +5 -1
  296. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  297. package/server/serverHelpers/Request.ts +33 -131
  298. package/server/serverHelpers/contentTypes.ts +188 -15
  299. package/server/serverHelpers/serverUtilities.ts +157 -27
  300. package/server/serverHelpers/uwsServer.ts +4 -1
  301. package/server/serverHelpers/webSocketCloseReason.ts +25 -0
  302. package/server/storageReclamation.ts +2 -2
  303. package/server/threads/isolatedApplications.ts +157 -0
  304. package/server/threads/logRotationTransport.ts +40 -0
  305. package/server/threads/manageThreads.js +254 -12
  306. package/server/threads/socketRouter.ts +217 -11
  307. package/server/threads/threadServer.js +30 -7
  308. package/studio/web/assets/{Chat-BnCBegQz.js → Chat-DADFFGe_.js} +1 -1
  309. package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-D_mI-rZ7.js} +3 -3
  310. package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-c2NiSDHa.js} +1 -1
  311. package/studio/web/assets/{applications-DHxGi7JH.js → applications-DktUqh7G.js} +1 -1
  312. package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-Cs_75Xhw.js} +1 -1
  313. package/studio/web/assets/{editor-DNcRHK54.js → editor-19b-Y1IN.js} +1 -1
  314. package/studio/web/assets/{html-Bdssedlg.js → html-DiYEQMpB.js} +1 -1
  315. package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CmR0y7P_.js} +1 -1
  316. package/studio/web/assets/{index-D6sxmFLR.js → index-Dm0rfkJ7.js} +5 -5
  317. package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-7vqt2CC3.js} +1 -1
  318. package/studio/web/assets/{javascript-B8meVSTH.js → javascript-BWtCFuOt.js} +1 -1
  319. package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-Buzzbv9y.js} +1 -1
  320. package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-SqsFWfTM.js} +1 -1
  321. package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-EMV5cmjo.js} +1 -1
  322. package/studio/web/assets/{notifications-CvZivSbh.js → notifications-CAB-LZWT.js} +1 -1
  323. package/studio/web/assets/{notifications-CQf18QKb.js → notifications-DRzmSRxM.js} +1 -1
  324. package/studio/web/assets/{profile-DdOwtntb.js → profile-BNKAl79n.js} +1 -1
  325. package/studio/web/assets/{regions-n69fwagr.js → regions-CUow_Zw2.js} +1 -1
  326. package/studio/web/assets/{register-PfWTCXWB.js → register-Dkt3WUMp.js} +2 -2
  327. package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BZRfMD0N.js} +1 -1
  328. package/studio/web/assets/{setup-CUx_aUDl.js → setup-D_yiEPO2.js} +2 -2
  329. package/studio/web/assets/{status-D7BVKqX9.js → status-DhHh1Ge-.js} +1 -1
  330. package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-D7L1PDtV.js} +1 -1
  331. package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-CCwLk1YS.js} +1 -1
  332. package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-BP1j1mjn.js} +1 -1
  333. package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-D7bnYxLw.js} +1 -1
  334. package/studio/web/assets/{workers-pR3jRY9D.js → workers-tOuCNT17.js} +1 -1
  335. package/studio/web/assets/{xml-2iRnMhQO.js → xml-BSG_3mQT.js} +1 -1
  336. package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-DxiLprBB.js} +1 -1
  337. package/studio/web/index.html +1 -1
  338. package/utility/DESIGN.md +55 -0
  339. package/utility/errors/hdbError.ts +54 -0
  340. package/utility/hdbTerms.ts +2 -0
  341. package/utility/logging/harper_logger.ts +210 -30
  342. package/utility/logging/logGenerationCoordinator.ts +196 -0
  343. package/utility/logging/logRotation.ts +367 -0
  344. package/utility/logging/logRotator.ts +196 -91
  345. package/utility/npmUtilities.ts +6 -4
  346. package/utility/watcherFallback.ts +0 -122
  347. package/validation/configValidator.ts +6 -3
@@ -135,6 +135,9 @@ export declare function findLastAggregationTime(primaryStore: {
135
135
  value?: any;
136
136
  }>;
137
137
  }, localNodeId: number, maxScan?: number): number | undefined;
138
+ /** Two cycles reading the same cursor roll the same window up twice, and the scheduler does not
139
+ * await its callback. */
140
+ export declare function runAggregationCycle(fromPeriod: any, toPeriod?: number): Promise<void>;
138
141
  export declare function onAnalyticsAggregate(callback: any): void;
139
142
  export {};
140
143
  /**
@@ -53,6 +53,7 @@ exports.buildRocksDBTableMetric = buildRocksDBTableMetric;
53
53
  exports.buildRocksDBTxnLogMetric = buildRocksDBTxnLogMetric;
54
54
  exports.getDirectorySizeAsync = getDirectorySizeAsync;
55
55
  exports.findLastAggregationTime = findLastAggregationTime;
56
+ exports.runAggregationCycle = runAggregationCycle;
56
57
  exports.onAnalyticsAggregate = onAnalyticsAggregate;
57
58
  const worker_threads_1 = require("worker_threads");
58
59
  const manageThreads_js_1 = require("../../server/threads/manageThreads.js");
@@ -195,6 +196,10 @@ function sendAnalytics() {
195
196
  analyticsStart ||= performance.now();
196
197
  sendAnalyticsTimeout = setTimeout(async () => {
197
198
  sendAnalyticsTimeout = null;
199
+ // Rotate before the first yield below: a sample recorded mid-flush would otherwise be added to
200
+ // an entry already reported, and dropped with it.
201
+ const reportingActions = activeActions;
202
+ activeActions = new Map();
198
203
  const period = performance.now() - analyticsStart;
199
204
  analyticsStart = 0;
200
205
  const metrics = [];
@@ -204,7 +209,7 @@ function sendAnalytics() {
204
209
  threadId: worker_threads_1.threadId,
205
210
  metrics,
206
211
  };
207
- for (const [_name, action] of activeActions) {
212
+ for (const [_name, action] of reportingActions) {
208
213
  if (action.values) {
209
214
  const values = action.values.subarray(0, action.values.index);
210
215
  values.sort();
@@ -278,7 +283,6 @@ function sendAnalytics() {
278
283
  for (const listener of analyticsListeners) {
279
284
  listener(metrics);
280
285
  }
281
- activeActions = new Map();
282
286
  if (worker_threads_1.parentPort)
283
287
  worker_threads_1.parentPort.postMessage({
284
288
  type: ANALYTICS_REPORT_TYPE,
@@ -873,6 +877,12 @@ async function storeNodeStorageMetric(analyticsTable) {
873
877
  const MAX_LAST_AGGREGATION_SCAN = 1000;
874
878
  // Time of this node's last completed aggregation, tracked in O(1) across cycles within a process.
875
879
  let lastAggregationTime;
880
+ // Resume point into the raw analytics table: it moves only over records a cycle read, so it is not
881
+ // a clock and never passes an unread report.
882
+ let rawCursor;
883
+ // A cycle stopped at its window edge with raw records still behind it, so the next one skips the
884
+ // cadence guard and drains the next window.
885
+ let aggregationBehind = false;
876
886
  /**
877
887
  * Find the time of the local node's most recent aggregation record by scanning back from the
878
888
  * newest entry. The scan is BOUNDED to `maxScan` records: if no composite-id record for this node
@@ -892,13 +902,31 @@ function findLastAggregationTime(primaryStore, localNodeId, maxScan = MAX_LAST_A
892
902
  }
893
903
  return undefined;
894
904
  }
905
+ let aggregationRunning = false;
906
+ /** Two cycles reading the same cursor roll the same window up twice, and the scheduler does not
907
+ * await its callback. */
908
+ async function runAggregationCycle(fromPeriod, toPeriod = 60000) {
909
+ if (aggregationRunning)
910
+ return;
911
+ aggregationRunning = true;
912
+ try {
913
+ await aggregation(fromPeriod, toPeriod);
914
+ }
915
+ finally {
916
+ aggregationRunning = false;
917
+ }
918
+ }
895
919
  async function aggregation(fromPeriod, toPeriod = 60000) {
896
920
  const rawAnalyticsTable = getRawAnalyticsTable();
897
921
  const analyticsTable = getAnalyticsTable();
898
922
  const taskQueueLatency = (async () => {
899
923
  const start = performance.now();
900
924
  // measure how long it takes to enqueue and get a callback from a simple/fast task:
901
- await (0, promises_1.stat)(getLogFilePath());
925
+ // The result is discarded — only the round trip is being measured — so a missing file is not a
926
+ // failure. It rejects whenever the probe races a rotation, which the write-path size guard
927
+ // makes a routine event rather than a once-a-minute one, and an unhandled rejection here takes
928
+ // the process down over a latency measurement.
929
+ await (0, promises_1.stat)(getLogFilePath()).catch(() => { });
902
930
  const delay = performance.now() - start;
903
931
  if (delay > 5000) {
904
932
  log.warn?.('Unusually high task queue latency on the main thread of ' + Math.round(delay) + 'ms');
@@ -911,32 +939,37 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
911
939
  // first never touch the table. On the first cycle after boot we seed it once from the table
912
940
  // via a bounded reverse scan (see findLastAggregationTime). Caching the seeded value keeps
913
941
  // the next cycle O(1) even when this run early-returns below as "too recent"; a bound-hit
914
- // (no match) leaves it undefined so we don't early-return, proceed to aggregate, and set the
915
- // marker to `now` at the end of the cycle instead (#1538).
942
+ // (no match) leaves it undefined so we don't early-return, proceed to aggregate, and stamp the
943
+ // cadence marker at the end of the cycle instead (#1538).
916
944
  let lastForPeriod = lastAggregationTime;
917
945
  if (lastForPeriod === undefined) {
918
946
  lastForPeriod = findLastAggregationTime(analyticsTable.primaryStore, localNodeId);
919
- if (lastForPeriod !== undefined)
947
+ if (lastForPeriod !== undefined) {
920
948
  lastAggregationTime = lastForPeriod;
949
+ rawCursor ??= lastForPeriod;
950
+ }
921
951
  }
922
952
  // was the last aggregation too recent to calculate a whole period?
923
- if (lastForPeriod !== undefined && Date.now() - toPeriod < lastForPeriod)
953
+ if (!aggregationBehind && lastForPeriod !== undefined && Date.now() - toPeriod < lastForPeriod)
924
954
  return;
925
955
  let firstForPeriod;
926
956
  const aggregateActions = new Map();
927
957
  const distributions = new Map();
928
958
  const threadsToAverage = [];
929
959
  let lastTime;
960
+ let stoppedAtWindowEdge = false;
930
961
  for (const { key, value } of rawAnalyticsTable.primaryStore.getRange({
931
- start: lastForPeriod || false,
962
+ start: rawCursor || false,
932
963
  exclusiveStart: true,
933
964
  end: Infinity,
934
965
  })) {
935
966
  if (!value)
936
967
  continue;
937
968
  if (firstForPeriod) {
938
- if (key > firstForPeriod + toPeriod)
969
+ if (key > firstForPeriod + toPeriod) {
970
+ stoppedAtWindowEdge = true;
939
971
  break; // outside the period of interest
972
+ }
940
973
  }
941
974
  else
942
975
  firstForPeriod = key;
@@ -1093,12 +1126,12 @@ async function aggregation(fromPeriod, toPeriod = 60000) {
1093
1126
  };
1094
1127
  storeMetric(analyticsTable, cruMetric);
1095
1128
  lastResourceUsage = resourceUsage;
1096
- // Advance the O(1) last-aggregation marker to this cycle's time. The resource-usage metric
1097
- // just written is a composite-id record stamped `time: now`, so it is exactly what the
1098
- // reverse-scan seed would find as the newest matching record. Updating it every completed
1099
- // cycle — not only when there were raw updates — keeps the `Date.now() - toPeriod` period
1100
- // guard enforcing the configured cadence during idle stretches, matching the prior
1101
- // scan-based behavior rather than letting a stale marker run aggregation on every tick (#1538).
1129
+ // The cursor may only pass records this cycle read, and nothing reads below it again: the scan
1130
+ // covers one `toPeriod` window, and a raw report whose `put` has not committed is invisible to
1131
+ // it however recent its key is. An empty scan therefore leaves the cursor where it was.
1132
+ if (lastTime !== undefined)
1133
+ rawCursor = lastTime;
1134
+ aggregationBehind = stoppedAtWindowEdge;
1102
1135
  lastAggregationTime = now;
1103
1136
  // `system` is set as non-enumerable on the object returned by getDatabases() so most
1104
1137
  // callers skip it; for analytics we want it included, so build a view where it's enumerable.
@@ -1196,7 +1229,7 @@ function startScheduledTasks() {
1196
1229
  const rawRetentionMs = Math.max((0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_RAWRETENTIONMS) ?? RAW_EXPIRATION, AGGREGATE_PERIOD);
1197
1230
  const aggregateRetentionMs = (0, environmentManager_ts_1.get)(hdbTerms_ts_1.CONFIG_PARAMS.ANALYTICS_AGGREGATERETENTIONMS) ?? AGGREGATE_EXPIRATION;
1198
1231
  setInterval(async () => {
1199
- await aggregation(exports.analyticsDelay, AGGREGATE_PERIOD);
1232
+ await runAggregationCycle(exports.analyticsDelay, AGGREGATE_PERIOD);
1200
1233
  await cleanup(getRawAnalyticsTable(), rawRetentionMs);
1201
1234
  // 0 means "keep forever" — skip aggregate cleanup, matching storageInterval: 0 convention
1202
1235
  if (aggregateRetentionMs)
@@ -1 +1 @@
1
- {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../resources/analytics/write.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"write.js","sourceRoot":"","sources":["../../../resources/analytics/write.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { RocksDatabase } from '@harperfast/rocksdb-js';
2
2
  export type AuditRecord = {
3
3
  version: number;
4
4
  txnLogKey: number;
5
+ /** Physical transaction log that yielded this entry, populated only when requested by the reader. */
6
+ logName?: string;
5
7
  type: string;
6
8
  encodedRecord?: Buffer;
7
9
  extendedType?: number;
@@ -58,6 +60,150 @@ export declare function openAuditStore(rootStore: any): any;
58
60
  export declare function isAuditEntryWrite(entry: any, auditRecord: AuditRecord): boolean;
59
61
  export declare function removeAuditEntry(auditStore: any, auditRecord: AuditRecord): Promise<void>;
60
62
  export declare function getLastRemoved(auditStore: any): number;
63
+ /**
64
+ * The bound a prune should use — and record — in place of an unbounded cutoff.
65
+ *
66
+ * `Infinity` is a legitimate thing for a caller to *mean* ("remove all of it") and a ruinous thing to
67
+ * store: it is the unknown sentinel, and the sentinel is absorbing. `raiseAuditFloor`'s lock-free
68
+ * pre-check skips any present record no cutoff exceeds, and `establishAuditFloor` skips any store that
69
+ * has one, so a floor at `Infinity` never comes back down — for the whole database, including sibling
70
+ * tables whose own history was never touched. One `deleteHistory(Infinity)` would otherwise retire the
71
+ * accessor for that database permanently (#2458).
72
+ *
73
+ * So bound it by what exists: strictly above the newest key currently in the log, and never below the
74
+ * clock. Nothing already written can escape that bound, and a caller that passes it as the prune's
75
+ * range end as well as its floor cannot remove anything the floor does not cover — which is what makes
76
+ * the write-ahead ordering hold without an infinite bound. An entry written *after* this returns is
77
+ * simply not history the call asked to remove.
78
+ *
79
+ * `Infinity` is only the extreme case. Any cutoff above this bound is the same defect by degree: a
80
+ * finite year-2286 bound (`Date.now() * 1000`, or a bare `'9999999999999'`) is equally unreachable
81
+ * and equally permanent, and entries written after the prune then land *below* the recorded floor,
82
+ * so the floor's promise — nothing after it was pruned — is false about history that is still there.
83
+ * Every cutoff is therefore clamped, not just the unbounded one.
84
+ *
85
+ * Non-numbers, NaN, negatives and `-0` fall through unchanged to `raiseAuditFloor`, which rejects
86
+ * them: the numeric ones are ordered keys the prune range would honor, not bounds anyone meant, and a
87
+ * non-number is guarded explicitly because `>` would otherwise coerce it into a bound the floor
88
+ * accepts. `cutoff > bound` rather than `Math.min` keeps NaN falling through too.
89
+ *
90
+ * On RocksDB `getKeys` is unimplemented and returns `[]`, so the bound reduces to `Date.now()`. A
91
+ * key above the clock therefore survives a purge that asked for it on that engine. That is the safe
92
+ * direction: the entry is kept and the floor stays honest, where the alternative removes history the
93
+ * floor does not cover.
94
+ */
95
+ export declare function boundedAuditPruneEnd(auditStore: any, cutoff: number): number;
96
+ /**
97
+ * Raise the floor to `cutoff`, the exclusive lower bound of the history a prune is about to make
98
+ * unreachable.
99
+ *
100
+ * **Call this before removing anything.** A floor written after the removal is lost if the process
101
+ * dies in between, and the surviving lower floor then certifies a cursor whose history is gone.
102
+ * Ordering it first also covers a prune that removes less than `cutoff` spans (a RocksDB purge with
103
+ * no whole droppable file, a retention pass stopping at MAX_DELETES_PER_CLEANUP): over-reporting costs
104
+ * one unnecessary resync, under-reporting loses data silently. The retention paths bound that
105
+ * over-report at the configured horizon (`Date.now() - auditRetention`, never below 0); the two
106
+ * operator-supplied bounds have no ceiling of their own and go through `boundedAuditPruneEnd` first,
107
+ * since a bound above everything reachable would be recorded verbatim and never come down.
108
+ *
109
+ * Throws if the floor cannot be persisted, which is why it is called first — the throw is what stops
110
+ * the prune from proceeding unrecorded. Never lowers the floor, so a narrower prune cannot undo a
111
+ * wider one, and a store whose floor is unknown stays unknown rather than being talked down to a
112
+ * cutoff that says nothing about the history it has already lost.
113
+ */
114
+ export declare function raiseAuditFloor(auditStore: any, cutoff: number): void;
115
+ /**
116
+ * Give a database a trustworthy floor if it has none: the current time, as a one-time resync epoch.
117
+ *
118
+ * The floor record's *presence* is the trust marker, so a store without one is a store whose
119
+ * retention history we cannot account for. It may have been pruned by a version that recorded no
120
+ * floor; it may be the empty audit store an LMDB→RocksDB migration deliberately leaves behind
121
+ * (`bin/copyDb.ts` does not migrate it, so the records and their resumable cursors outlive their
122
+ * history); or it may be a database restored from a table-scoped backup taken without
123
+ * `include_audit`, which carries records but no audit DBI. Cursors from before this moment are
124
+ * therefore reported stale — not because we know they are, but because we do not know they are not.
125
+ *
126
+ * There is no "brand new store, use a permissive baseline" case: creating the audit DBI proves only
127
+ * that the DBI was absent, which the audit-less backup above also produces. Being conservative on a
128
+ * genuinely new database costs nothing, since its entries are all written after this instant.
129
+ *
130
+ * In read-only mode nothing is written and the floor stays unknown — the fail-closed answer for a
131
+ * process that cannot record what it does not know.
132
+ *
133
+ * **The epoch is also recorded under its own key, so this bootstrap is repairable.** The epoch is a
134
+ * guess bounded by surviving state, and surviving state cannot see history a selective prune already
135
+ * removed (see the clock note below). The record marks the store as one that carried a guess, and
136
+ * preserves the value guessed — the two facts a later release needs to raise such a floor to
137
+ * something it can stand behind. See "Audit retention floor" in DESIGN.md for the full reading.
138
+ *
139
+ * **The mark is the signal, not a comparison against the floor.** A store carrying this record has an
140
+ * unverified pre-tracking window for as long as it exists, however far the floor has since moved: a
141
+ * prune raising the floor above the epoch certifies only what that prune removed, and says nothing
142
+ * about history removed before tracking began — which may sit above the epoch, since that is exactly
143
+ * the case the guess cannot see. Retiring the mark takes a database generation (harper#2451), not a
144
+ * floor that has climbed past it.
145
+ *
146
+ * Ordering. The provenance record is written **first**, so a crash between the two writes leaves a
147
+ * record with no floor — which the next open retries, since the early return above tests the floor.
148
+ * The epoch actually stamped is always read back from the record rather than taken from this call's
149
+ * own `Date.now()`, so a worker whose record lost the race adopts the winner's value and the two
150
+ * always agree. Re-adopting an older record is sound: nothing was pruned in the meantime, or a prune
151
+ * would have written the floor this function returns early on.
152
+ */
153
+ export declare function establishAuditFloor(auditStore: any): void;
154
+ /**
155
+ * The floor of this database's retained audit history: every audit entry at or after the returned
156
+ * time is still retained, so a consumer whose last-processed audit-log cursor is `>=` it can resume
157
+ * incrementally, and one below it must resync — it may have lost nothing, but the floor cannot
158
+ * certify it either way. Returns `Infinity` when
159
+ * the floor is unknown, which fails closed — no cursor compares as safe.
160
+ *
161
+ * **One exception, and it is the only one: history removed before the floor existed.** Every prune
162
+ * that runs with a floor recorded is covered — it raises the floor first, so it cannot remove an entry
163
+ * the floor does not cover. But the first open stamps a floor from what *survives*
164
+ * (`establishAuditFloor`), and a legacy `Table.deleteHistory` that removed a table's newest entries,
165
+ * followed by a clock rollback, leaves that stamp below history that is gone; a cursor in the window
166
+ * is then certified over the gap. So the guarantee is one-directional for tracked prunes and silent
167
+ * about untracked ones. Only a database generation can close that (harper#2451).
168
+ *
169
+ * The time domain is the audit-log key: what `subscribe`'s events carry as `localTime` and what MQTT
170
+ * durable sessions persist as `startTime`, so those compare against the floor directly.
171
+ * **`getHistory` is not in that domain** — it reports each entry's origin `version` under the name
172
+ * `localTime`, which a backdated or replicated write makes differ from the audit-log key. A cursor
173
+ * saved from `getHistory` is not comparable to this floor.
174
+ *
175
+ * **Database-scoped**, and deliberately conservative: the audit store is per-database and its
176
+ * entries carry a `tableId`, so a per-table floor would need a scan for the first entry matching
177
+ * that table. For a valid cursor, `cursor >= floor` therefore means no entry of *any* table in the
178
+ * database was removed *after* the cursor. What it never promises is anything below the FLOOR — that
179
+ * history is exactly what a prune takes. Below the *cursor* is not the same set: for a cursor strictly
180
+ * above the floor, `[floor, cursor)` sits below the cursor and is still covered by the guarantee. `Table.deleteHistory`
181
+ * prunes one table out of that shared log and raises the whole database's floor, which can overstate
182
+ * the floor for its siblings.
183
+ *
184
+ * **A moment-in-time observation.** Retention can advance between this call and whatever the caller
185
+ * does with the answer, so a check-then-resume sequence has a window where the floor moves under it.
186
+ * Closing that requires validating the cursor inside the resume itself (harper#2448); until then a
187
+ * lost race degrades to the truncation that happens today, never to anything worse.
188
+ *
189
+ * **On RocksDB the floor tracks the configured horizon, not retained reality.** That branch purges at
190
+ * whole-log-file granularity, so it cannot know before the fact which entries a purge will drop, and
191
+ * the floor has to be written first — so every retention pass advances it to
192
+ * `Date.now() - auditRetention / (1 + priority²)` whether or not a file was dropped. Entries below
193
+ * that horizon are routinely still on disk, and a consumer holding a cursor among them is told to
194
+ * resync. Conservative in the one safe direction, and the reason the LMDB branch (which can see a
195
+ * single eligible entry) instead raises off the first one it finds.
196
+ *
197
+ * **Not covered: copying a database's state without its history.** `restore_backup` replaces a
198
+ * database with the backup's, floor and all, and a RocksDB checkpoint (a branch database) copies the
199
+ * floor record but no transaction logs — so in both cases a cursor from after the copy point sits
200
+ * above a floor that is present, and therefore trusted, for history that is not there. Nothing here
201
+ * can detect that on its own, and it is not the audit log's problem alone: the same copy rolls back
202
+ * record versions and per-node replication sequence state, so making this one field honest while
203
+ * those stay stale would not give a consumer a coherent answer. It needs a database-level epoch —
204
+ * harper#2451.
205
+ */
206
+ export declare function getAuditFloor(auditStore: any): number;
61
207
  export declare function setAuditRetention(retentionTime: any, defaultDelay?: number): void;
62
208
  /**
63
209
  * One-shot purge of transaction-log files already older than the audit retention window,
@@ -73,6 +219,22 @@ export declare const ACTION_32_BIT = 14;
73
219
  export declare const ACTION_64_BIT = 15;
74
220
  /** Used to indicate we have received a remote local time update */
75
221
  export declare const REMOTE_SEQUENCE_UPDATE = 11;
222
+ /**
223
+ * Cluster record-lock coordination (harper#483 Phase 1). This replicates — unlike the reload marker
224
+ * it is NOT `LOCAL_ONLY` — and carries a control payload rather than a record, so it is written with
225
+ * `recordId: null`: an entry sharing a real record's `(version, tableId, recordId, nodeId)` would be
226
+ * returned by `RocksTransactionLogStore.getSync` ahead of that record's own audit entry and make
227
+ * `_writeUpdate`'s keyed dedup drop the holder's write.
228
+ *
229
+ * Two entries exist: the release, and the barrier — a replicated no-op a member commits on request
230
+ * so its own log position can serve as the §7.2 recovery fence (harper#2625). Nibbles 9 and 10
231
+ * briefly held `lockRequest`/`lockGrant` for the Ricart–Agrawala arbitration rule that
232
+ * `docs/record-lock-ownership.md` replaces; that rule never shipped enabled, so they were retired
233
+ * rather than migrated — and 9 has since been taken by eviction. 10 is spare; 14/15 are the width
234
+ * flags.
235
+ */
236
+ export declare const LOCK_RELEASE = 12;
237
+ export declare const LOCK_BARRIER = 13;
76
238
  export declare const HAS_CURRENT_RESIDENCY_ID = 512;
77
239
  export declare const HAS_PREVIOUS_RESIDENCY_ID = 1024;
78
240
  export declare const HAS_ORIGINATING_OPERATION = 2048;
@@ -89,6 +251,14 @@ export declare const HAS_ADDITIONAL_AUDIT_REFS = 16384;
89
251
  * lower-byte action region (which extendedType forbids) and within the always-32-bit metadata form.
90
252
  */
91
253
  export declare const LOCAL_ONLY = 32768;
254
+ /**
255
+ * Cluster lock coordination entries. They ride the replicated audit stream but describe no record,
256
+ * so every consumer that surfaces audit entries as record activity — subscriber fan-out, the
257
+ * `startTime` replay, the `previousCount` backfill, the replicated-event sink — must exclude them.
258
+ * An equality chain rather than a Set: this runs once per audit entry on the replay and fan-out
259
+ * paths, where the common answer is false on the first comparison.
260
+ */
261
+ export declare function isLockControlType(type: unknown): boolean;
92
262
  /**
93
263
  * Creates a binary audit entry
94
264
  * @param txnTime