@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
@@ -40,6 +40,10 @@ exports.setCommitLatencyRecorder = setCommitLatencyRecorder;
40
40
  exports.getTransactionQueueDepths = getTransactionQueueDepths;
41
41
  exports.replicationConfirmation = replicationConfirmation;
42
42
  exports.transactionOpenTooLongError = transactionOpenTooLongError;
43
+ exports.getReadTransactionGuard = getReadTransactionGuard;
44
+ exports.trackReadRange = trackReadRange;
45
+ exports.closeWriteInstance = closeWriteInstance;
46
+ exports.validateWrite = validateWrite;
43
47
  exports.getAppliedWriteVersion = getAppliedWriteVersion;
44
48
  exports.priorStagedWrite = priorStagedWrite;
45
49
  exports.writeKeyId = writeKeyId;
@@ -65,6 +69,7 @@ const RETRY_NOW_VALUE = rocksdb_js_1.constants.RETRY_NOW_VALUE;
65
69
  const ordered_binary_1 = require("ordered-binary");
66
70
  const longLivedTransactions_ts_1 = require("./longLivedTransactions.js");
67
71
  const trackedTxns = new Set();
72
+ const readTransactionOwners = new WeakMap();
68
73
  // Read options for a rotated generation's native transactions; shared because they never vary.
69
74
  const SNAPSHOT_FREE = Object.freeze({ disableSnapshot: true });
70
75
  // Logical transactions the monitor supervises for their WRITES, kept apart from trackedTxns because the
@@ -297,6 +302,104 @@ function transactionOpenTooLongError() {
297
302
  // 422 signals the request itself must change (split the work), which is the actionable response.
298
303
  return new hdbError_ts_1.ServerError('Transaction was aborted after exceeding the maximum open-transaction time; split long-running work into smaller transactions', 422);
299
304
  }
305
+ class ReadSnapshotExpiredError extends hdbError_ts_1.ServerError {
306
+ constructor() {
307
+ super('Read scan snapshot expired; retry the read without replaying previously committed writes', 503);
308
+ this.name = 'ReadSnapshotExpiredError';
309
+ }
310
+ }
311
+ function getReadTransactionGuard(transaction) {
312
+ const owner = readTransactionOwners.get(transaction);
313
+ if (!owner)
314
+ return;
315
+ return function checkActive() {
316
+ if (owner.timedOut)
317
+ throw transactionOpenTooLongError();
318
+ if (owner.transaction !== transaction) {
319
+ throw new ReadSnapshotExpiredError();
320
+ }
321
+ };
322
+ }
323
+ function trackReadRange(transaction, createRange) {
324
+ const owner = readTransactionOwners.get(transaction);
325
+ if (!owner)
326
+ return createRange();
327
+ const checkActive = getReadTransactionGuard(transaction);
328
+ checkActive();
329
+ const range = createRange();
330
+ const iterate = range.iterate;
331
+ range.iterate = function (options) {
332
+ const iterator = iterate.call(this, options);
333
+ let done = false;
334
+ // Closing the underlying iterator is the one step here that can throw for a reason the caller
335
+ // must not see: `next()` only reaches it once the snapshot is already gone, which is the
336
+ // likeliest moment for the native layer to object, and an error from cleanup would replace the
337
+ // named 503 with exactly the raw iterator error this wrapper exists to stop surfacing. The
338
+ // closure reference rather than `this` so a destructured `next` still cleans up.
339
+ const wrapper = {
340
+ [Symbol.iterator]() {
341
+ return this;
342
+ },
343
+ next() {
344
+ if (done)
345
+ return { done: true, value: undefined };
346
+ try {
347
+ checkActive();
348
+ owner.rangeReadActive = true;
349
+ const result = iterator.next();
350
+ done = result.done === true;
351
+ return result;
352
+ }
353
+ catch (error) {
354
+ closeQuietly();
355
+ throw error;
356
+ }
357
+ },
358
+ return(value) {
359
+ if (!done) {
360
+ done = true;
361
+ iterator.return?.(value);
362
+ }
363
+ return { done: true, value };
364
+ },
365
+ throw(error) {
366
+ // Not delegated to `iterator.throw`: it closes and rethrows the same error anyway, and
367
+ // delegating after the close below would run it against an iterator already closed.
368
+ closeQuietly();
369
+ throw error;
370
+ },
371
+ };
372
+ function closeQuietly() {
373
+ try {
374
+ wrapper.return();
375
+ }
376
+ catch {
377
+ // the error being propagated is the actionable one
378
+ }
379
+ }
380
+ return wrapper;
381
+ };
382
+ return range;
383
+ }
384
+ function closeWriteInstance(operation) {
385
+ if (operation && !operation.instanceClosed) {
386
+ operation.instanceClosed = true;
387
+ if (operation.writeGeneration)
388
+ operation.writeGeneration.closed = true;
389
+ }
390
+ }
391
+ function validateWrite(operation, txnTime, transaction) {
392
+ const generation = operation.writeGeneration;
393
+ if (generation)
394
+ generation.internalWrites++;
395
+ try {
396
+ return operation.validate?.(txnTime, transaction);
397
+ }
398
+ finally {
399
+ if (generation)
400
+ generation.internalWrites--;
401
+ }
402
+ }
300
403
  function getAppliedWriteVersion(recordVersion, txnLogKey) {
301
404
  return recordVersion == null ? txnLogKey : Math.min(recordVersion, txnLogKey);
302
405
  }
@@ -342,6 +445,7 @@ class DatabaseTransaction {
342
445
  this.#scopeOwned = options?.scopeOwned === true;
343
446
  }
344
447
  writes = []; // the set of writes to commit if the conditions are met
448
+ ownedWrites;
345
449
  completions = []; // the set of outstanding async operations to complete
346
450
  db;
347
451
  transaction;
@@ -388,8 +492,8 @@ class DatabaseTransaction {
388
492
  txn.commitPhaseTicks = 0;
389
493
  }
390
494
  }
391
- getReadTxn(disableSnapshot) {
392
- this.readTxnRefCount = (this.readTxnRefCount || 0) + 1;
495
+ rangeReadActive = false;
496
+ renewReadTimeout() {
393
497
  // The limit is an IDLE limit. Writes always re-arm it (see addWrite), but reads only do so
394
498
  // while no uncommitted writes are held: staged writes hold write intents that other writers'
395
499
  // coordinated-retry commits park on, so a handler that wrote once and then only reads — an
@@ -402,6 +506,23 @@ class DatabaseTransaction {
402
506
  if ((this.writes.length === 0 && !this.next) || this.open !== exports.TRANSACTION_STATE.OPEN || !this.hasPendingWrites()) {
403
507
  this.timeout = Math.max(txnExpiration, this.timeoutBudget);
404
508
  }
509
+ }
510
+ // Each engine keeps its own expiration; LMDBTransaction overrides this with its own.
511
+ renewIdleTimeout() {
512
+ this.timeout = Math.max(txnExpiration, this.timeoutBudget ?? 0);
513
+ }
514
+ // The links after this one wait for its native commit before their own commit() is entered; each
515
+ // hop starts with a full idle window and a stalled native commit is still bounded by one.
516
+ renewChainForNativeCommit() {
517
+ for (let txn = this; txn; txn = txn.next) {
518
+ if (txn.timedOut || txn.open === exports.TRANSACTION_STATE.CLOSED)
519
+ continue;
520
+ txn.renewIdleTimeout();
521
+ }
522
+ }
523
+ getReadTxn(disableSnapshot) {
524
+ this.readTxnRefCount = (this.readTxnRefCount || 0) + 1;
525
+ this.renewReadTimeout();
405
526
  if (this.transaction) {
406
527
  if (this.transaction.openTimer)
407
528
  this.transaction.openTimer = 0;
@@ -434,6 +555,8 @@ class DatabaseTransaction {
434
555
  // Monitor state is not ownership state: it stays with `trackedTxns.add` in getReadTxn().
435
556
  attachOwnedTransaction(transaction) {
436
557
  this.transaction = transaction;
558
+ readTransactionOwners.set(transaction, this);
559
+ this.rangeReadActive = false;
437
560
  this.readTxnsUsed = 1;
438
561
  this.baseReadRefConsumed = false;
439
562
  this.handleOpenedAt = performance.now();
@@ -475,6 +598,7 @@ class DatabaseTransaction {
475
598
  trackedTxns.delete(this);
476
599
  this.endWriteSupervision();
477
600
  this.transaction = null;
601
+ this.rangeReadActive = false;
478
602
  this.readTxnsUsed = 0;
479
603
  this.readTxnRefCount = 0;
480
604
  this.handleOpenedAt = 0;
@@ -576,6 +700,7 @@ class DatabaseTransaction {
576
700
  const index = this.writes.indexOf(operation);
577
701
  if (index > -1)
578
702
  this.writes[index] = null;
703
+ this.ownedWrites?.delete(operation);
579
704
  if (operation.key === undefined)
580
705
  return;
581
706
  const writesForStore = this.writesByKey?.get(operation.store);
@@ -585,7 +710,7 @@ class DatabaseTransaction {
585
710
  // Membership, not `stagedIn`, which every commit handler clears and so cannot tell a takeover from a
586
711
  // write done in place; a prior already taken over must not become this transaction's basis again.
587
712
  let prior = operation.priorWrite;
588
- while (prior && !this.writes.includes(prior))
713
+ while (prior && !this.ownedWrites?.has(prior))
589
714
  prior = prior.priorWrite;
590
715
  const tail = writesForStore.get(keyId);
591
716
  if (tail === operation) {
@@ -619,10 +744,10 @@ class DatabaseTransaction {
619
744
  const h = storeMap.get(keyId);
620
745
  if (!h)
621
746
  return undefined;
622
- if (!h.released)
747
+ if (!h.isExpired())
623
748
  return h;
624
- // Prune released handles so they don't accumulate; an expired handle checking re-entrancy
625
- // would otherwise be seen as the holder and incorrectly granted access.
749
+ // Prune released/expired handles so they don't accumulate; a handle past its deadline checking
750
+ // re-entrancy would otherwise be seen as the holder and incorrectly granted access.
626
751
  storeMap.delete(keyId);
627
752
  return undefined;
628
753
  }
@@ -684,11 +809,19 @@ class DatabaseTransaction {
684
809
  // fire after a commit or abort, and routing it back here would revive a write this transaction
685
810
  // already rolled back — whose blobs abort() has reclaimed. Cleared here, save() resolves the
686
811
  // context's current transaction as it did before `stagedIn` existed.
687
- for (const write of this.writes)
812
+ for (const write of this.writes) {
688
813
  if (write?.stagedIn === this)
689
814
  write.stagedIn = undefined;
815
+ if (write)
816
+ this.ownedWrites?.delete(write);
817
+ }
690
818
  this.writes = [];
691
819
  this.writesByKey = undefined;
820
+ // The commit-fence latch belongs to the discarded batch. A reused transaction that once staged
821
+ // a locked write would otherwise re-scan every write of every later unlocked batch. Assigned
822
+ // only when it was set, so an ordinary transaction never gains the property at all.
823
+ if (this.hasLeaseProtectedWrite)
824
+ this.hasLeaseProtectedWrite = false;
692
825
  }
693
826
  /**
694
827
  * Drop this transaction's back-reference from its context once completed (commit or abort),
@@ -811,6 +944,7 @@ class DatabaseTransaction {
811
944
  this.writeTick = monitorTick;
812
945
  this.linkWrite(operation);
813
946
  this.writes.push(operation);
947
+ (this.ownedWrites ??= new WeakSet()).add(operation);
814
948
  operation.stagedIn = this;
815
949
  // Hold this write back while any earlier same-key write has not run — out of staging order both
816
950
  // diff against the pre-transaction record (harper#2211, DESIGN.md). The whole chain, not just the
@@ -841,16 +975,26 @@ class DatabaseTransaction {
841
975
  const lockHandle = operation.lockHandle;
842
976
  // Guard: a write staged through an expired or released lock handle must not land.
843
977
  // The handle's lease timer already unlocked the native key; another holder may have taken it.
844
- if (lockHandle && (lockHandle.expired || lockHandle.released)) {
845
- // Remove the operation from the staged set so subsequent writes on this context do not
846
- // re-throw 409 due to a stale null-saved entry sitting in this.writes.
847
- const failedIdx = this.writes.indexOf(operation);
848
- if (failedIdx > -1)
849
- this.writes[failedIdx] = null;
978
+ // isExpired() re-evaluates the deadline here rather than trusting the timer to have run: a
979
+ // holder whose event loop stalled past its lease would otherwise commit in the window between
980
+ // the deadline and its own timer callback, after peers had already granted the key onward.
981
+ //
982
+ // A RE-save is judged by the lease alone. `released` belongs to the first stage — a caller that
983
+ // unlocked and then saved is writing through a handle it gave back — but an operation already
984
+ // staged was staged while the lock was held, and an `unlock()` inside the lease leaves it valid
985
+ // (the same rule the pre-submit fence applies below). Without the distinction,
986
+ // `lock(); save(); unlock(); commit()` succeeded normally and threw 409 only when a conflict
987
+ // retry or an open read iterator forced the replay to re-save it.
988
+ if (operation.saved ? lockHandle?.isLeaseExpired() : lockHandle?.isExpired()) {
989
+ // Through `detachWrite`, which also repairs the per-key chain: dropping it from `writes` alone
990
+ // leaves `writesByKey` pointing at a write that was refused, so a caller that catches this 409
991
+ // and stages the same key again would take the rejected operation as its merge basis.
992
+ this.detachWrite(operation);
850
993
  throw (0, recordLock_ts_1.lockNotHeldError)(lockHandle);
851
994
  }
852
995
  // Lock-write timestamp rules.
853
996
  if (lockHandle) {
997
+ this.hasLeaseProtectedWrite = true;
854
998
  if (this.open === exports.TRANSACTION_STATE.CLOSED || this.saveCommits) {
855
999
  // CLOSED path (second+ write per ImmediateTransaction cycle) OR the first write in
856
1000
  // an ImmediateTransaction (open=OPEN until commit sets it CLOSED, but saveCommits
@@ -910,21 +1054,44 @@ class DatabaseTransaction {
910
1054
  }
911
1055
  if (!txnTime)
912
1056
  txnTime = this.timestamp = transaction.getTimestamp();
1057
+ if (!operation.saved && operation.pendingPriorWrite) {
1058
+ const pendingWrites = [];
1059
+ for (let pending = operation.pendingPriorWrite; pending;) {
1060
+ if (!pending.saved && this.ownedWrites?.has(pending))
1061
+ pendingWrites.push(pending);
1062
+ pending = pending.pendingPriorWrite !== undefined ? pending.pendingPriorWrite : pending.priorWrite;
1063
+ }
1064
+ for (let index = pendingWrites.length - 1; index >= 0; index--)
1065
+ this.save(pendingWrites[index], transaction, false, options);
1066
+ operation.pendingPriorWrite = null;
1067
+ }
913
1068
  // `txnTime` is this transaction's timestamp — the key its entries take in the per-origin log.
914
1069
  // A write applied from elsewhere carries the origin's record version too, and that is what the
915
1070
  // record is stored at; the two coincide for every locally-originated write. Gated on the apply
916
1071
  // flags so an ordinary write never reads the property (harper#2412).
917
1072
  const writeVersion = this.sourceApply || this.isReplay ? getAppliedWriteVersion(operation.recordVersion, txnTime) : txnTime;
918
- if (reloadEntry || operation.entry === undefined) {
919
- operation.entry = operation.store.getEntry(operation.key, { transaction });
1073
+ // A base that feeds stored state must come from this transaction's snapshot, never the
1074
+ // cross-worker cache vouch (stale when a resequenced write reused a version). That closes the
1075
+ // lost-update window only when this transaction holds a snapshot to validate the later Put
1076
+ // against; a snapshot-free transaction (this.snapshotFree, after a mid-scope-commit rotation)
1077
+ // has no snapshot for rocksdb-js to validate the Put against, so it only narrows the window to
1078
+ // the read-to-put span rather than closing it (open follow-up, tracked in the PR description).
1079
+ // Replays keep their pre-read base — their convergence contract is the replay pass itself.
1080
+ const reloadsCommitBase = operation.reloadCommitBase && !operation.saved && !this.isReplay;
1081
+ if (reloadEntry || operation.entry === undefined || reloadsCommitBase) {
1082
+ const uncachedRead = (!!operation.reloadCommitBase && !this.isReplay) || reloadEntry;
1083
+ operation.entry = operation.store.getEntry(operation.key, { transaction, uncachedRead });
920
1084
  }
921
1085
  if (!operation.saved) {
922
- operation.saved = true;
923
1086
  // immediately execute in this transaction
924
- if (operation.validate?.(writeVersion, this) === false) {
1087
+ const validated = validateWrite(operation, writeVersion, this);
1088
+ if (validated === false) {
1089
+ operation.saved = true;
925
1090
  operation.commit = () => { }; // noop if we try again
1091
+ closeWriteInstance(operation);
926
1092
  return;
927
1093
  }
1094
+ operation.saved = true;
928
1095
  let result = operation.before?.();
929
1096
  if (result?.then)
930
1097
  this.stageCompletion(result);
@@ -936,7 +1103,13 @@ class DatabaseTransaction {
936
1103
  operation.trackRecordVersion = true;
937
1104
  if (operation.trackRecordVersion)
938
1105
  operation.recordVersionApplied = false;
939
- const completion = operation.commit(writeVersion, operation.entry, this.retries > 0, transaction);
1106
+ let completion;
1107
+ try {
1108
+ completion = operation.commit(writeVersion, operation.entry, this.retries > 0, transaction);
1109
+ }
1110
+ finally {
1111
+ closeWriteInstance(operation);
1112
+ }
940
1113
  if (operation.trackRecordVersion)
941
1114
  operation.appliedRecordVersion = operation.recordVersionApplied ? writeVersion : undefined;
942
1115
  if (typeof completion?.then === 'function')
@@ -1013,6 +1186,8 @@ class DatabaseTransaction {
1013
1186
  // and replay branches below deliberately commit a handle other than this.transaction.
1014
1187
  if (!transaction)
1015
1188
  transaction = this.transaction;
1189
+ if (!options.transaction && this.writes.some((write) => write))
1190
+ this.renewChainForNativeCommit();
1016
1191
  this.open = exports.TRANSACTION_STATE.CLOSED;
1017
1192
  // RocksTransaction.commit() resolves with RETRY_NOW_VALUE (a number) under
1018
1193
  // coordinatedRetry, or void on a normal commit/abort.
@@ -1096,6 +1271,33 @@ class DatabaseTransaction {
1096
1271
  if (transaction) {
1097
1272
  this.writes = this.writes.filter((write) => write); // filter out removed entries
1098
1273
  if (this.writes.length > 0) {
1274
+ // Commit retries can construct fresh ranges on this live handle after read ownership ends.
1275
+ readTransactionOwners.delete(transaction);
1276
+ // Re-fence before submitting: the loop above skips operations already marked saved, so
1277
+ // save()'s own check cannot see a holder that stalled between staging and commit. The
1278
+ // retry/replay path re-saves every operation and is fenced there instead. Lease expiry
1279
+ // only: an unlock() inside the lease leaves the staged write valid, an elapsed lease
1280
+ // does not, whether or not the caller also unlocked.
1281
+ for (let i = 0; this.hasLeaseProtectedWrite && i < this.writes.length; i++) {
1282
+ const lapsed = this.writes[i].lockHandle;
1283
+ if (!lapsed?.isLeaseExpired())
1284
+ continue;
1285
+ try {
1286
+ transaction.abort();
1287
+ }
1288
+ catch { }
1289
+ // Every other terminal exit from commit() runs the logical cleanup too. Throwing
1290
+ // straight out would strand the OTHER locks this transaction holds, its staged
1291
+ // blobs, and the context's back-reference to a CLOSED transaction — and
1292
+ // transaction()'s onComplete has no rejection path to run it later.
1293
+ try {
1294
+ this.abort();
1295
+ }
1296
+ catch (error) {
1297
+ harperLogger.debug?.('cleaning up a transaction whose record lock lapsed', error);
1298
+ }
1299
+ throw (0, recordLock_ts_1.lockNotHeldError)(lapsed);
1300
+ }
1099
1301
  // The transaction was created with coordinatedRetry:true (see
1100
1302
  // getReadTxn), so commit() can resolve to RETRY_NOW_VALUE. That
1101
1303
  // sentinel (a number) is why commitResolution is typed
@@ -1855,6 +2057,10 @@ function startMonitoringTxns() {
1855
2057
  (0, longLivedTransactions_ts_1.finishLongLivedHolderReports)(reportBudget);
1856
2058
  }, txnExpiration).unref();
1857
2059
  function monitorTransaction(txn, checkedCommitPhaseChains, reportThresholdMs, reportNow, reportBudget) {
2060
+ if (txn.rangeReadActive) {
2061
+ txn.rangeReadActive = false;
2062
+ txn.renewReadTimeout();
2063
+ }
1858
2064
  reportIfLongLived(txn, reportThresholdMs, reportNow, reportBudget);
1859
2065
  {
1860
2066
  const commitChainHead = txn.commitChainHead ?? txn;
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseTransaction.js","sourceRoot":"","sources":["../../resources/DatabaseTransaction.ts"],"names":[],"mappings":"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"}