@harperfast/harper 5.3.2 → 5.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cliOperations.ts +3 -3
- package/bin/copyDb.ts +4 -3
- package/components/DESIGN.md +12 -0
- package/components/packageComponent.ts +42 -17
- package/config/DESIGN.md +4 -0
- package/config/configUtils.ts +8 -8
- package/config/parseConfigFile.ts +11 -7
- package/dist/bin/cliOperations.js +3 -3
- package/dist/bin/cliOperations.js.map +1 -1
- package/dist/bin/copyDb.js +3 -3
- package/dist/bin/copyDb.js.map +1 -1
- package/dist/components/packageComponent.d.ts +9 -7
- package/dist/components/packageComponent.js +41 -16
- package/dist/components/packageComponent.js.map +1 -1
- package/dist/config/configUtils.js +4 -3
- package/dist/config/configUtils.js.map +1 -1
- package/dist/config/parseConfigFile.d.ts +1 -0
- package/dist/config/parseConfigFile.js +7 -3
- package/dist/config/parseConfigFile.js.map +1 -1
- package/dist/resources/DatabaseTransaction.d.ts +75 -10
- package/dist/resources/DatabaseTransaction.js +1080 -277
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/Resource.js +40 -14
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/RocksTransactionLogStore.js +1 -0
- package/dist/resources/RocksTransactionLogStore.js.map +1 -1
- package/dist/resources/Table.js +16 -2
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/analytics/write.js +34 -16
- package/dist/resources/analytics/write.js.map +1 -1
- package/dist/resources/databases.d.ts +5 -0
- package/dist/resources/databases.js +38 -4
- package/dist/resources/databases.js.map +1 -1
- package/dist/resources/recordLock.d.ts +9 -4
- package/dist/resources/recordLock.js +79 -19
- package/dist/resources/recordLock.js.map +1 -1
- package/dist/server/DurableSubscriptionsSession.d.ts +2 -0
- package/dist/server/DurableSubscriptionsSession.js +20 -17
- package/dist/server/DurableSubscriptionsSession.js.map +1 -1
- package/dist/server/mqtt.js +41 -23
- package/dist/server/mqtt.js.map +1 -1
- package/dist/server/serverHelpers/NodeAdapterResponse.js +18 -0
- package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -1
- package/dist/utility/npmUtilities.js +18 -7
- package/dist/utility/npmUtilities.js.map +1 -1
- package/package.json +1 -1
- package/resources/DESIGN.md +42 -10
- package/resources/DatabaseTransaction.ts +1244 -275
- package/resources/Resource.ts +39 -14
- package/resources/RocksTransactionLogStore.ts +1 -0
- package/resources/Table.ts +24 -2
- package/resources/analytics/DESIGN.md +17 -0
- package/resources/analytics/write.ts +28 -15
- package/resources/databases.ts +40 -4
- package/resources/record-locks.md +34 -17
- package/resources/recordLock.ts +89 -22
- package/server/DESIGN.md +2 -0
- package/server/DurableSubscriptionsSession.ts +18 -16
- package/server/mqtt.ts +39 -22
- package/server/serverHelpers/NodeAdapterResponse.ts +19 -1
- package/studio/web/assets/Chat-B-Rd-ft9.js +2100 -0
- package/studio/web/assets/FloatingChat-CFypO7kh.js +23 -0
- package/studio/web/assets/SearchDialog-BRIyPiBl.js +1 -0
- package/studio/web/assets/{abnfDiagram-O67JEVCF-raXE027J.js → abnfDiagram-YUKMZFIV-DPR2lFRk.js} +1 -1
- package/studio/web/assets/{apiToken-DNrfij0E.js → apiToken-BraYnzvC.js} +1 -1
- package/studio/web/assets/applications-XCds8-ZP.js +296 -0
- package/studio/web/assets/architecture-WOLXFQ4H-DtJHIK0_.js +1 -0
- package/studio/web/assets/{architectureDiagram-NJMV4G6O-C8_Eet7w.js → architectureDiagram-47P4ROYG-MDymp2dh.js} +3 -3
- package/studio/web/assets/authStore-DE1HFvVP.js +3 -0
- package/studio/web/assets/{blockDiagram-BEXU5L5S-DR6S5-1D.js → blockDiagram-E7TT5TSB-O5qRgZmd.js} +3 -3
- package/studio/web/assets/button-C37w80Uk.js +21 -0
- package/studio/web/assets/{c4Diagram-YGBWAQC7-BAfZ1G01.js → c4Diagram-CRA5TL53-BdPORGHo.js} +2 -2
- package/studio/web/assets/channel-yCStoq0_.js +1 -0
- package/studio/web/assets/{chevron-up-CFxbMGv2.js → chevron-up-DozwrIz-.js} +1 -1
- package/studio/web/assets/chunk-2BW5OAIV-DJ-iXJAw.js +10 -0
- package/studio/web/assets/{chunk-ZIGJFQKS-Cs8fUn7y.js → chunk-3YJQHVM4-BOgacqS1.js} +2 -2
- package/studio/web/assets/{chunk-7PRAP22T-KyqX6x3f.js → chunk-4EA7E6EY-C-7xqUBl.js} +1 -1
- package/studio/web/assets/{chunk-GWA4HPMP-DsejB6gA.js → chunk-7TKQ45FW-C3XA1bIN.js} +1 -1
- package/studio/web/assets/{chunk-GTNCS2PH-DGHLXyow.js → chunk-AW2ZBBNX-BdvgD1UW.js} +3 -3
- package/studio/web/assets/{chunk-5DYCD2WN-BceBfIHT.js → chunk-DBDB3WZW-CKKxIc6F.js} +1 -1
- package/studio/web/assets/{chunk-MBY4JIJT-BwSGweQP.js → chunk-E2ZNV5FY-bVefNHvz.js} +3 -3
- package/studio/web/assets/chunk-EU5HNXII-BHv2kWp4.js +213 -0
- package/studio/web/assets/chunk-FVRAUYC3-BoL_NO6b.js +2 -0
- package/studio/web/assets/{chunk-742MDFTN-CIkt8ijt.js → chunk-HJ2JQQFS-N_98oMRS.js} +1 -1
- package/studio/web/assets/{chunk-NETBCI7D-C8UnOw_f.js → chunk-HTAEGDNF-BQ1fSjPs.js} +1 -1
- package/studio/web/assets/{chunk-WEXAMYUT-BAIhTwyh.js → chunk-KQW6MTUR-qP0QiQAg.js} +1 -1
- package/studio/web/assets/chunk-NGNAAXSQ-DqoPQk1a.js +136 -0
- package/studio/web/assets/{chunk-UA2S7LBM-BHpEdH8D.js → chunk-NTY3LDVX-CSBFjlJg.js} +1 -1
- package/studio/web/assets/chunk-VPRB5NB3-BVHOe9Q-.js +129 -0
- package/studio/web/assets/{chunk-7INBJB4K-BpeAXyOi.js → chunk-XC4XBNZT-46uQwtF4.js} +10 -10
- package/studio/web/assets/{classDiagram-v2-NBCMYWYE-DmDPkt2u.js → classDiagram-v2-K4WV4PDN-Da0ps1Ui.js} +3 -3
- package/studio/web/assets/cn-DpF1PxBT.js +1 -0
- package/studio/web/assets/{createLucideIcon-fO5dL7D5.js → createLucideIcon-DLWRoWN-.js} +1 -1
- package/studio/web/assets/{cssMode-DBucrQdT.js → cssMode-BY1w91l8.js} +1 -1
- package/studio/web/assets/cynefin-EF2NZ3EQ-jQ2eCUaU.js +1 -0
- package/studio/web/assets/cynefinDiagram-3GCD6N5R-TNi5iS0E.js +62 -0
- package/studio/web/assets/dagre-W4DXFKR2-BnLHmA44.js +4 -0
- package/studio/web/assets/{diagram-22UHCM2B-DJCvcaWP.js → diagram-2UJZ2QOL-r_jehhZR.js} +7 -7
- package/studio/web/assets/{diagram-3UASUU5V-Du6VKWln.js → diagram-OVF4WLC6-BSUXGVh8.js} +11 -11
- package/studio/web/assets/{diagram-CDSNMT55-l5Ga0u-W.js → diagram-PFPMY2P6-BrVedycw.js} +3 -3
- package/studio/web/assets/{diagram-MLGK6HIB-CNQY47LA.js → diagram-UMYRVEAY-CBIaakBB.js} +1 -1
- package/studio/web/assets/diagram-YEKJPTXX-DFmmDXCl.js +41 -0
- package/studio/web/assets/diagram-ZIFT7M5P-CQfOWxOi.js +3 -0
- package/studio/web/assets/dist-9lpzt2Hn.js +11 -0
- package/studio/web/assets/{ebnfDiagram-ZINNZB2B-5OnkTpfi.js → ebnfDiagram-VR2GEFS7-FXA3Xe6e.js} +1 -1
- package/studio/web/assets/{editor-CHpQCuBq.js → editor-D5mpVs1b.js} +1 -1
- package/studio/web/assets/elk-IJKZMXRS-CC4gfVRU.js +27 -0
- package/studio/web/assets/{erDiagram-OPXOYQCR-CQlCX84D.js → erDiagram-O2IAPWRE-C-BkDTPl.js} +2 -2
- package/studio/web/assets/errorText-8xV8WZBt.js +1 -0
- package/studio/web/assets/eventmodeling-K75KTNOO-D0dJ_PbR.js +1 -0
- package/studio/web/assets/flowDiagram-OXPTDLAJ-C1LEc_Hf.js +1 -0
- package/studio/web/assets/{ganttDiagram-FUAMR5RP-bloX3Voy.js → ganttDiagram-R7TSEDQI-85F44BIo.js} +4 -4
- package/studio/web/assets/{getAnalytics-C0FHjtdQ.js → getAnalytics-B1xpd4kG.js} +1 -1
- package/studio/web/assets/gitGraph-VSP46ZUC-BBmqrmjK.js +1 -0
- package/studio/web/assets/gitGraphDiagram-XJZIOB7I-CFY6iMwg.js +106 -0
- package/studio/web/assets/graphlib-DS17s2tU.js +1 -0
- package/studio/web/assets/{html-B1iA8q38.js → html-DiXKiahz.js} +1 -1
- package/studio/web/assets/{htmlMode-CrL3YO5Y.js → htmlMode-DitVJ707.js} +1 -1
- package/studio/web/assets/index-CDnn0-PN.css +1 -0
- package/studio/web/assets/index-D8kyF6dt.js +833 -0
- package/studio/web/assets/index.lazy-DgbjUxLo.js +1 -0
- package/studio/web/assets/info-OHQRW6UA-Bs2aEco7.js +1 -0
- package/studio/web/assets/{infoDiagram-VRGFBTTK-B0J1132p.js → infoDiagram-5W2HQ5XZ-d6yG1yfZ.js} +1 -1
- package/studio/web/assets/invalidateEntityQueries-BkWXiqjz.js +1 -0
- package/studio/web/assets/{ishikawaDiagram-OU5B5YK6-BNk0tuQx.js → ishikawaDiagram-K3B6WC7H-CSYz-WRA.js} +2 -2
- package/studio/web/assets/{javascript-CXgQMkoa.js → javascript-BBVXeMDm.js} +1 -1
- package/studio/web/assets/{journeyDiagram-ZHPQQLJL-Be79RMQM.js → journeyDiagram-COXZFDF6-BDj6Wqcj.js} +3 -3
- package/studio/web/assets/{jsonMode-DycqRKOv.js → jsonMode-D85_j2oD.js} +1 -1
- package/studio/web/assets/{kanban-definition-PNTS6WVX-4uuoQP9W.js → kanban-definition-P3RFRI5V-C2Bjfbp-.js} +6 -6
- package/studio/web/assets/{languageServices-HYHV1wDJ.js → languageServices-U3mWhpRL.js} +1 -1
- package/studio/web/assets/{lspLanguageFeatures-CH_6SYiA.js → lspLanguageFeatures-CoymyM3c.js} +1 -1
- package/studio/web/assets/{mermaid-parser.core-V1UYMeXV.js → mermaid-parser.core-Ch_T61iL.js} +6 -6
- package/studio/web/assets/mermaid.core-BOAgKzo5.js +44 -0
- package/studio/web/assets/{mindmap-definition-NLK3R4M7-C70Ctm0J.js → mindmap-definition-LZFPQGKD-DzOapzMM.js} +3 -3
- package/studio/web/assets/notifications-CPgEC6ZP.js +1 -0
- package/studio/web/assets/notifications-D_VqhHnx.js +1 -0
- package/studio/web/assets/operations-D8aaKYty.js +4 -0
- package/studio/web/assets/packet-JDAUHWVQ-CGHB_EIE.js +1 -0
- package/studio/web/assets/{pegDiagram-GJSIUBJH-d6z1cc7W.js → pegDiagram-BGZESJAR-ADzOIKrz.js} +1 -1
- package/studio/web/assets/pie-XZMESJXO-Bijz5Y2o.js +1 -0
- package/studio/web/assets/pieDiagram-CAPJLFHJ-VM7fvbwO.js +39 -0
- package/studio/web/assets/profile-DM5E6Xls.js +1 -0
- package/studio/web/assets/{quadrantDiagram-O4NWA36T-CIF5Qkou.js → quadrantDiagram-GDMTTRAM-Bmza84_j.js} +3 -3
- package/studio/web/assets/radar-ABXABTNO-IaC8pB63.js +1 -0
- package/studio/web/assets/railroad-I3PHUGI6-CCrSUqeq.js +1 -0
- package/studio/web/assets/railroad-abnf-LNEFI6M7-BhobVp-t.js +1 -0
- package/studio/web/assets/railroad-ebnf-DWYD2UWJ-OHhGUTEh.js +1 -0
- package/studio/web/assets/railroad-peg-JR7BVNR7-FupC3Jcn.js +1 -0
- package/studio/web/assets/{railroadDiagram-XR7U4H2S-y3Jv2U6N.js → railroadDiagram-SM67HX2B-CgFGOVI5.js} +1 -1
- package/studio/web/assets/regions-WFvXqryO.js +1 -0
- package/studio/web/assets/{register-DCN4QUii.js → register-B7DvfAGj.js} +3 -3
- package/studio/web/assets/request-ChoMERRk.js +2 -0
- package/studio/web/assets/{requirementDiagram-PLB6GJNP-ChINZEmu.js → requirementDiagram-X7JNWC4A-BHoQgkoT.js} +4 -4
- package/studio/web/assets/restartGate-D_e93lFE.js +1 -0
- package/studio/web/assets/restartUnconfirmed-BqcDZ__Y.js +1 -0
- package/studio/web/assets/sankeyDiagram-UM26HJRW-8tFu_oUe.js +40 -0
- package/studio/web/assets/sequenceDiagram-ZO4K6R2Y-jryb1rwT.js +169 -0
- package/studio/web/assets/setComponentFile-BHk22Rh6.js +1 -0
- package/studio/web/assets/setup-wNdpTrVH.js +2 -0
- package/studio/web/assets/{stateDiagram-v2-GCMORJYK-Bs8RIb9K.js → stateDiagram-v2-TBUQTH76-CnWE5yFn.js} +2 -2
- package/studio/web/assets/status-CYoonm9V.js +61 -0
- package/studio/web/assets/{swimlanes-2SLR337P-B52xrf6t.js → swimlanes-N4OXWK64-CBlFzDJn.js} +1 -1
- package/studio/web/assets/swimlanesDiagram-K3J5GTZL-DvFLtUPi.js +8 -0
- package/studio/web/assets/{timeline-definition-EJHVYXUP-DJSITpQX.js → timeline-definition-YOQAKGHF-CFWqHrqI.js} +4 -4
- package/studio/web/assets/{toggleHighContrast-CfAp6Sxb.js → toggleHighContrast-CKEm-P4K.js} +1 -1
- package/studio/web/assets/treeView-D4JQ5SDB-CpV9zuVb.js +1 -0
- package/studio/web/assets/treemap-SAJKECNS-Bc94Tqiq.js +1 -0
- package/studio/web/assets/{tsMode-HZR0bfq4.js → tsMode-Dv35qHmn.js} +1 -1
- package/studio/web/assets/{typescript-UMJSfZyF.js → typescript-Bly1EW8o.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-B379CS-h.js → useEntityRestURL-Cg3P0MOb.js} +1 -1
- package/studio/web/assets/usecaseDiagram-VIAY4XPW-Brf2xP3S.js +328 -0
- package/studio/web/assets/{vendor-core-6LhfJlRC.js → vendor-core-PejxhUWQ.js} +1 -1
- package/studio/web/assets/vendor-datadog-GjET_Cbn.js +6 -0
- package/studio/web/assets/{vendor-react-BOliS0BL.js → vendor-react-DSIx92Ld.js} +1 -1
- package/studio/web/assets/vendor-tanstack-C5Y-nrd2.js +2 -0
- package/studio/web/assets/vendor-ui-BBWHOEoQ.js +41 -0
- package/studio/web/assets/{vennDiagram-UO4OBE2U-DZTsDA4k.js → vennDiagram-BLWOH2XV-XxOyJPq_.js} +3 -3
- package/studio/web/assets/wardley-7MLQ67FV-DRW0zuE4.js +1 -0
- package/studio/web/assets/{wardleyDiagram-VNRHLVJA-qu_f7Tvl.js → wardleyDiagram-YMQ3BMBF-B3WskJ9W.js} +3 -3
- package/studio/web/assets/wasAReleasedBeforeB-D5grAaGM.js +1 -0
- package/studio/web/assets/{workers-Bn_0_L1R.js → workers-DVtjrvUa.js} +1 -1
- package/studio/web/assets/{xml-CG2N-1r1.js → xml-DjAPbgLN.js} +1 -1
- package/studio/web/assets/xychartDiagram-TAQBALBS-D5NV4Env.js +7 -0
- package/studio/web/assets/{yaml-68pda6Av.js → yaml-oTUyoJy1.js} +1 -1
- package/studio/web/index.html +17 -15
- package/utility/npmUtilities.ts +17 -7
- package/studio/web/assets/Chat-CrxPD4ph.js +0 -2294
- package/studio/web/assets/FloatingChat-EXzoUQ-9.js +0 -23
- package/studio/web/assets/SearchDialog-7qRL8Yqx.js +0 -1
- package/studio/web/assets/_basePickBy-QJXUw_pr.js +0 -1
- package/studio/web/assets/_baseUniq-DR4vVjyC.js +0 -1
- package/studio/web/assets/alertDialog-BbWD9Xxa.js +0 -1
- package/studio/web/assets/applications-CdqjiSQe.js +0 -296
- package/studio/web/assets/architecture-7GRP2DOG-DDmz3hpI.js +0 -1
- package/studio/web/assets/arrow-up-D2g_57vT.js +0 -1
- package/studio/web/assets/authStore-CJCaADw9.js +0 -3
- package/studio/web/assets/button-DWwfgGWI.js +0 -21
- package/studio/web/assets/channel-D0AkPjJ8.js +0 -1
- package/studio/web/assets/chunk-3FUC2YCW-DuRp-j19.js +0 -2
- package/studio/web/assets/chunk-7M6MHVWA-h6WlaTzO.js +0 -213
- package/studio/web/assets/chunk-FOHPRMQF-DzxwRta7.js +0 -161
- package/studio/web/assets/chunk-O7XYJQB3-CBS3nZYV.js +0 -128
- package/studio/web/assets/chunk-Z7XXMR3K-DSHbImdf.js +0 -10
- package/studio/web/assets/cn-6T8VranJ.js +0 -1
- package/studio/web/assets/cynefin-OW5HDTMX-DIvbXLSj.js +0 -1
- package/studio/web/assets/cynefinDiagram-VND7K2PF-BdtaXiCE.js +0 -62
- package/studio/web/assets/dagre-6A5THRUB-C7RUWHyz.js +0 -4
- package/studio/web/assets/diagram-ATOU4E4O-dxRfeG4B.js +0 -3
- package/studio/web/assets/diagram-MPIPVDR6-7prveD1B.js +0 -41
- package/studio/web/assets/dist-BrRuMUzt.js +0 -11
- package/studio/web/assets/download-Cn6tPG4L.js +0 -1
- package/studio/web/assets/elk-276RUBZZ-DxDQPjQT.js +0 -27
- package/studio/web/assets/errorText-NpBmvk9I.js +0 -1
- package/studio/web/assets/eventmodeling-NTZA5JFV-DONQf5aG.js +0 -1
- package/studio/web/assets/flowDiagram-KWPJA3E3-BoZ8_QR1.js +0 -1
- package/studio/web/assets/gitGraph-4MIJSDKK-BrXWmJt2.js +0 -1
- package/studio/web/assets/gitGraphDiagram-X574FWY7-C2KnnZeY.js +0 -106
- package/studio/web/assets/graphlib-C9Tl7QrK.js +0 -1
- package/studio/web/assets/index-QLZw6xrU.css +0 -1
- package/studio/web/assets/index-qCLyhyah.js +0 -828
- package/studio/web/assets/index.lazy-DCx-DxIV.js +0 -2
- package/studio/web/assets/info-A6RAGUB7-BhzBHe4U.js +0 -1
- package/studio/web/assets/mermaid.core-1PX6R49U.js +0 -44
- package/studio/web/assets/notifications-BSObVIY1.js +0 -1
- package/studio/web/assets/notifications-DFLXk68b.js +0 -1
- package/studio/web/assets/packet-AYTQ26CC-DWbXHx5g.js +0 -1
- package/studio/web/assets/pie-WAS4IAKB-DjoTm3yr.js +0 -1
- package/studio/web/assets/pieDiagram-5QR66LMP-Dz3RHpDA.js +0 -39
- package/studio/web/assets/profile-TBjzOMIy.js +0 -1
- package/studio/web/assets/radar-RG4KPBEZ-CVBgjCOj.js +0 -1
- package/studio/web/assets/railroad-74A4TZTK-BdhXw10Q.js +0 -1
- package/studio/web/assets/railroad-abnf-HS5TGJTU-BcoQPN39.js +0 -1
- package/studio/web/assets/railroad-ebnf-LZEXJU2U-B1Lke2JN.js +0 -1
- package/studio/web/assets/railroad-peg-WCYAUIDC-D-oJFkiV.js +0 -1
- package/studio/web/assets/regions-C4an4H7e.js +0 -1
- package/studio/web/assets/restartGate-nHAFLDh-.js +0 -1
- package/studio/web/assets/sankeyDiagram-IPEJSGJF-D9AyLce2.js +0 -40
- package/studio/web/assets/sequenceDiagram-PO4LG4MO-hfk4aIEm.js +0 -169
- package/studio/web/assets/setComponentFile-BrqOM1Zm.js +0 -1
- package/studio/web/assets/setup-0v2MCm-E.js +0 -2
- package/studio/web/assets/status-DdezofUu.js +0 -61
- package/studio/web/assets/swimlanesDiagram-TC7HE7FX-DfN7BAP5.js +0 -8
- package/studio/web/assets/tabs-BCTQzoQK.js +0 -1
- package/studio/web/assets/treeView-Q6P3EWNA-C-epdxRo.js +0 -1
- package/studio/web/assets/treemap-WGGIJYW6-DOVyp_zw.js +0 -1
- package/studio/web/assets/usecaseDiagram-POWQR4AR-B6252cbq.js +0 -328
- package/studio/web/assets/vendor-datadog-ozKf-pts.js +0 -6
- package/studio/web/assets/vendor-tanstack-Bntfka-M.js +0 -2
- package/studio/web/assets/vendor-ui-9EYYDgoN.js +0 -41
- package/studio/web/assets/wardley-WFR3VGLG-Cfqoe6z4.js +0 -1
- package/studio/web/assets/xychartDiagram-PMCCYNJV-UrOKRsmR.js +0 -7
package/dist/server/mqtt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../server/mqtt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../server/mqtt.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,20 @@ class UnsupportedResponseMethodError extends Error {
|
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
18
|
const ignoreError = () => { };
|
|
19
|
+
const ignoreChunk = () => { };
|
|
20
|
+
// Node 26.11's pipe fast path (nodejs/node#66182) skips write() overrides such as compression's while pipe's listener
|
|
21
|
+
// is a byte-mode source's only 'data' listener; see server/DESIGN.md
|
|
22
|
+
const pipeSkipsWrite = 'writeKnownBuffer' in node_stream_1.Writable;
|
|
23
|
+
function guardPipeSource(source) {
|
|
24
|
+
// object mode, a decoder, and legacy or userland pipe() never take the fast path; legacy pipe() never emits 'unpipe'
|
|
25
|
+
if (source instanceof node_stream_1.Readable && !source.readableObjectMode && !source.readableEncoding)
|
|
26
|
+
source.on('data', ignoreChunk);
|
|
27
|
+
}
|
|
28
|
+
// must run before pipe's own unpipe cleanup, which resumes a source awaiting 'drain' while any 'data' listener remains
|
|
29
|
+
function releasePipeSource(source) {
|
|
30
|
+
if (source instanceof node_stream_1.Readable)
|
|
31
|
+
source.removeListener('data', ignoreChunk);
|
|
32
|
+
}
|
|
19
33
|
class NodeAdapterResponse extends node_stream_1.PassThrough {
|
|
20
34
|
statusCode = 200;
|
|
21
35
|
statusMessage = '';
|
|
@@ -40,6 +54,10 @@ class NodeAdapterResponse extends node_stream_1.PassThrough {
|
|
|
40
54
|
this.#resolve = resolve;
|
|
41
55
|
this.#reject = reject;
|
|
42
56
|
this.on('error', ignoreError);
|
|
57
|
+
if (pipeSkipsWrite) {
|
|
58
|
+
this.on('pipe', guardPipeSource);
|
|
59
|
+
this.prependListener('unpipe', releasePipeSource);
|
|
60
|
+
}
|
|
43
61
|
if (typeof nodeResponse?.on === 'function') {
|
|
44
62
|
const forward = (...args) => this.emit('timeout', ...args);
|
|
45
63
|
let forwarding = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeAdapterResponse.js","sourceRoot":"","sources":["../../../server/serverHelpers/NodeAdapterResponse.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAQzC,
|
|
1
|
+
{"version":3,"file":"NodeAdapterResponse.js","sourceRoot":"","sources":["../../../server/serverHelpers/NodeAdapterResponse.ts"],"names":[],"mappings":";;;AAAA,yCAAyC;AAQzC,6CAA8D;AAC9D,6CAAiF;AAQjF,MAAM,gBAAiB,SAAQ,KAAK;IACnC,IAAI,GAAG,uBAAuB,CAAC;IAC/B,YAAY,MAAc;QACzB,KAAK,CAAC,UAAU,MAAM,4CAA4C,CAAC,CAAC;IACrE,CAAC;CACD;AAED,MAAM,8BAA+B,SAAQ,KAAK;IACjD,YAAY,MAAc;QACzB,KAAK,CAAC,GAAG,MAAM,qDAAqD,CAAC,CAAC;IACvE,CAAC;CACD;AAED,MAAM,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAC7B,MAAM,WAAW,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAE7B,sHAAsH;AACtH,qEAAqE;AACrE,MAAM,cAAc,GAAG,kBAAkB,IAAI,sBAAQ,CAAC;AACtD,SAAS,eAAe,CAAC,MAAgB;IACxC,qHAAqH;IACrH,IAAI,MAAM,YAAY,sBAAQ,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,MAAM,CAAC,gBAAgB;QACvF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AACjC,CAAC;AACD,uHAAuH;AACvH,SAAS,iBAAiB,CAAC,MAAe;IACzC,IAAI,MAAM,YAAY,sBAAQ;QAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC5E,CAAC;AAED,MAAa,mBAAoB,SAAQ,yBAAW;IACnD,UAAU,GAAG,GAAG,CAAC;IACjB,aAAa,GAAG,EAAE,CAAC;IACnB,mBAAmB,GAAG,KAAK,CAAC;IAC5B,eAAe,GAAG,KAAK,CAAC;IACxB,eAAe,GAAG,IAAI,CAAC;IACvB,2BAA2B,GAAG,IAAI,CAAC;IACnC,QAAQ,GAAG,IAAI,CAAC;IACP,GAAG,CAAsB;IACzB,MAAM,CAAgB;IAC/B,QAAQ,GAAG,IAAI,oBAAe,EAAE,CAAC;IACjC,gBAAgB,CAAqB;IACrC,WAAW,CAAqB;IAChC,aAAa,CAAiC;IAC9C,QAAQ,CAAsC;IAC9C,OAAO,CAA4B;IAEnC,YACC,GAAwB,EACxB,YAA4C,EAC5C,OAA4C,EAC5C,MAAiC;QAEjC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9B,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YACjC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,YAAY,EAAE,EAAE,KAAK,UAAU,EAAE,CAAC;YAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;YAClE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,cAAc,GAAG,CAAC,MAAe,EAAE,EAAE;gBAC1C,IAAI,MAAM,KAAK,UAAU;oBAAE,OAAO;gBAClC,UAAU,GAAG,MAAM,CAAC;gBACpB,IAAI,MAAM;oBAAE,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;;oBAC3C,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC,CAAC;YACF,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;YAC9F,MAAM,gBAAgB,GAAG,CAAC,KAAsB,EAAE,EAAE,CACnD,KAAK,KAAK,SAAS,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACtC,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACvB,cAAc,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;gBAClD,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ;QACX,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IACD,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IACD,IAAI,OAAO;QACV,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,IAAI,IAAI,GAAG,YAAY,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa,MAAM,CAAC;YACzE,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBAAE,KAAK,MAAM,KAAK,IAAI,KAAK;wBAAE,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC;;oBAChF,IAAI,IAAI,GAAG,IAAI,KAAK,KAAK,MAAM,CAAC;YACtC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,MAAM,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,KAA0C;QACjE,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,UAAU,CAAC,OAAqF;QAC/F,IAAI,OAA6B,CAAC;QAClC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY;gBAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;iBAChE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;;gBAC1D,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,OAAO;YAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,YAAY,CAAC,IAAY,EAAE,KAAiC;QAC3D,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,KAAK,MAAM,KAAK,IAAI,KAAK;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;;YAClF,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACb,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,UAAU;QACT,MAAM,OAAO,GAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,KAAK,CAAC;QAC/E,OAAO,OAAO,CAAC;IAChB,CAAC;IACD,cAAc;QACb,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAClC,CAAC;IACD,SAAS,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,YAAY,CAAC,IAAY;QACxB,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAC3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAID,SAAS,CACR,UAAkB,EAClB,sBAA4E,EAC5E,OAAoD;QAEpD,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,OAAO,sBAAsB,KAAK,QAAQ;YAAE,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;aACvF,CAAC;YACL,IAAI,CAAC,aAAa,KAAK,wBAAY,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC;YAC7D,wFAAwF;YACxF,2EAA2E;YAC3E,OAAO,KAAK,sBAAsB,CAAC;QACpC,CAAC;QACD,IAAI,OAAO;YAAE,IAAA,kCAAqB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC;IACb,CAAC;IACD,eAAe;QACd,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IACD,YAAY;QACX,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CACJ,KAAc,EACd,QAA4D,EAC5D,QAAyC;QAEzC,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,QAA0B,EAAE,QAAQ,CAAC,CAAC;IACjE,CAAC;IACD,GAAG,CAAC,KAAe,EAAE,QAAwC,EAAE,QAAqB;QACnF,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAA0B,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IACD,QAAQ,CAAC,KAAmB,EAAE,QAAwC;QACrE,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;QACvG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,UAAU,CAAC,KAAa,EAAE,QAAqB;QAC9C,IAAI,QAAQ;YAAE,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,IAAI,OAAO,YAAY,EAAE,UAAU,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAChE,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IACD,aAAa,CAAC,QAAqB;QAClC,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,aAAa,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;;YACnG,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,eAAe,CAAC,QAAqB;QACpC,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,eAAe,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;;YACvG,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,eAAe,CAAC,KAAwC,EAAE,QAAqB;QAC9E,IAAI,OAAO,IAAI,CAAC,aAAa,EAAE,eAAe,KAAK,UAAU;YAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;YAC9G,QAAQ,EAAE,EAAE,CAAC;IACnB,CAAC;IACD,+IAA+I;IAC/I,WAAW;QACV,MAAM,IAAI,8BAA8B,CAAC,aAAa,CAAC,CAAC;IACzD,CAAC;IACD,YAAY;QACX,MAAM,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;IACD,YAAY;QACX,MAAM,IAAI,8BAA8B,CAAC,cAAc,CAAC,CAAC;IAC1D,CAAC;CACD;AAhMD,kDAgMC"}
|
|
@@ -72,14 +72,8 @@ async function installModules(req) {
|
|
|
72
72
|
const projectPath = path.join(componentsRootDirPath, project);
|
|
73
73
|
try {
|
|
74
74
|
let { stdout, stderr } = await (0, componentPreparationLock_ts_1.withComponentPreparationLock)(projectPath, () => (0, Application_ts_1.nonInteractiveSpawn)(project, 'npm', args, projectPath), { isOwnerAlive: (owner) => owner.pid !== process.pid || (0, manageThreads_js_1.isThreadRunning)(owner.threadId) });
|
|
75
|
-
|
|
75
|
+
responseObject[project].npm_output = stdout ? parseNpmReport(stdout) : null;
|
|
76
76
|
stderr = stderr ? stderr.replace('\n', '') : null;
|
|
77
|
-
try {
|
|
78
|
-
responseObject[project].npm_output = JSON.parse(stdout);
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
responseObject[project].npm_output = stdout;
|
|
82
|
-
}
|
|
83
77
|
try {
|
|
84
78
|
responseObject[project].npm_error = JSON.parse(stderr);
|
|
85
79
|
}
|
|
@@ -101,6 +95,23 @@ async function installModules(req) {
|
|
|
101
95
|
responseObject.warning = deprecationWarning;
|
|
102
96
|
return responseObject;
|
|
103
97
|
}
|
|
98
|
+
// npm before 11.20 prints its human-readable dry-run diff ("add <name> <version>") ahead of the --json
|
|
99
|
+
// report; the report is the last document that starts a line with '{'
|
|
100
|
+
function parseNpmReport(stdout) {
|
|
101
|
+
try {
|
|
102
|
+
return JSON.parse(stdout);
|
|
103
|
+
}
|
|
104
|
+
catch {
|
|
105
|
+
const reportStart = stdout.lastIndexOf('\n{') + 1;
|
|
106
|
+
if (reportStart > 0) {
|
|
107
|
+
try {
|
|
108
|
+
return JSON.parse(stdout.slice(reportStart));
|
|
109
|
+
}
|
|
110
|
+
catch { }
|
|
111
|
+
}
|
|
112
|
+
return stdout.replace('\n', '');
|
|
113
|
+
}
|
|
114
|
+
}
|
|
104
115
|
function parseNPMStdErr(stderr) {
|
|
105
116
|
//npm returns errors inconsistently, on 6 it returns json, on 8 it returns json stringified inside of a larger string
|
|
106
117
|
let startSearchString = '"error": {';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBb,
|
|
1
|
+
{"version":3,"file":"npmUtilities.js","sourceRoot":"","sources":["../../utility/npmUtilities.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@harperfast/harper",
|
|
3
3
|
"description": "Harper is an open-source Node.js performance platform that unifies database, cache, application, and messaging layers into one in-memory process.",
|
|
4
|
-
"version": "5.3.
|
|
4
|
+
"version": "5.3.3",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"homepage": "https://harper.fast",
|
|
7
7
|
"bugs": {
|
package/resources/DESIGN.md
CHANGED
|
@@ -153,6 +153,7 @@ Consequences worth knowing:
|
|
|
153
153
|
branches and, when a RocksDB record version differs from its log key, the record's own audit head.
|
|
154
154
|
Under stage 2 the stored reference field can be renamed; until then, "fixing" it to the record
|
|
155
155
|
version silently unaddresses the entry it points at.
|
|
156
|
+
- **Retried duplicates use committed identity before audit I/O ([#3361](https://github.com/HarperFast/harper/issues/3361)).** `Table._writeUpdate` recognizes an implicit head only when origin, version and received log key match and no explicit refs exist; `replicatedRetryDuplicate.test.js` covers real conflicts, including multiple writes to the same key.
|
|
156
157
|
- **Crash replay uses both.** `replayLogs` replays each write at its stored `version`; stamping a
|
|
157
158
|
replayed record at its log key would move its version forward and make a later legitimate write
|
|
158
159
|
look stale. Its transactions follow native commits: one ends at a commit's last-entry `endTxn`
|
|
@@ -251,6 +252,24 @@ Tests: `../unitTests/resources/defineResource.test.js`, `../unitTests/resources/
|
|
|
251
252
|
|
|
252
253
|
## Conventions
|
|
253
254
|
|
|
255
|
+
- Single-record nested selections use `Resource.transformForSelect`; searches use
|
|
256
|
+
`Table.transformEntryForSelect`. Generic recursion needs no target table for plain JSON;
|
|
257
|
+
classless primitive array items and whole selected Dates keep their values; Date-array
|
|
258
|
+
subselects retain the existing search projection policy. Missing targets
|
|
259
|
+
preserve `undefined`/`null`; synchronous `forceNulls` stays local to its object projection. Promise and
|
|
260
|
+
`getRecord` detection requires callable values; ordinary method-like JSON keys are data.
|
|
261
|
+
Generic fallback projections treat function values as absent while retaining inherited data and getters;
|
|
262
|
+
registered resolver results stay unchanged.
|
|
263
|
+
- The native missing-value contract is pinned by
|
|
264
|
+
`../unitTests/resources/nestedSelectMissingValues.test.js` and
|
|
265
|
+
`../integrationTests/resources/relationship-and-status-contract.test.ts`.
|
|
266
|
+
`Resource.transformForSelect` resolver dictionaries use own entries, the private transform cache has no prototype, and
|
|
267
|
+
a selected own `__proto__` is a data property on a normal response object.
|
|
268
|
+
[REST select projection crashes on missing targets and non-relationship fields](https://github.com/HarperFast/harper/issues/1415)
|
|
269
|
+
remains open for singleton-selector parsing and invalid-subselect policy outside this helper.
|
|
270
|
+
[Nested Resource projection fails to settle asynchronous arrays and forceNulls](https://github.com/HarperFast/harper/issues/3168)
|
|
271
|
+
and [Prototype-chain key/attribute names: one **proto** PK poisons SQL/index reads table-wide; proto-named attributes falsely rejected at insert](https://github.com/HarperFast/harper/issues/1295)
|
|
272
|
+
track separate asynchronous projection and table-wide key boundaries.
|
|
254
273
|
- A record's `toJSON` is a response projection, not durable state. `recordUpdater` (and the cache-fill
|
|
255
274
|
and audit paths feeding it) projects records to stored fields via `storedFieldsOnly`, so no durable
|
|
256
275
|
form carries a resolver-owned (`@computed`/`@relationship`) name; materialization skips such names
|
|
@@ -345,12 +364,12 @@ Blobs flagged with `saveBeforeCommit` (or `saveInRecord`) are written to disk in
|
|
|
345
364
|
The mitigations live in three places:
|
|
346
365
|
|
|
347
366
|
- `startPreCommitBlobsForRecord` (`blob.ts`) returns the blob list alongside its completion callback so each `TransactionWrite` can attach a `savedBlobs: Blob[]`. `cleanupUnusedBlobs(blobs)` (`blob.ts`) waits for each blob's `saving` promise to settle, then `deleteBlob`s the file — it clears the input list so it's idempotent across repeated calls (e.g. an early-return that also gets caught by the abort path).
|
|
348
|
-
- `Table.ts` commit handlers set `write.skipped = true` (and reset to `false` at the top of each invocation) on early-return paths that don't write the record/audit: duplicate-tie, superseded-by-put, no-audit-fullUpdate-loses, and cache-resolve version-changed. The transaction commit success paths (`DatabaseTransaction.commit` and `LMDBTransaction.commit`) walk writes and call `cleanupUnusedBlobs(write.savedBlobs)` for every still-skipped write. Cleanup is deferred (rather than run inline in the commit handler) because the commit handler runs again on optimistic-lock retries, and a retry can flip a previously-skipped write into a successful one (e.g. the existing record gets deleted between attempts so the older replicated update suddenly wins). Inline cleanup would race the deletion's `setTimeout` against the retry that referenced the blob.
|
|
349
|
-
- `LMDBTransaction.abort` and `DatabaseTransaction.abort` walk all writes and run the same cleanup unconditionally (regardless of `skipped`), since nothing was committed. `DatabaseTransaction.commit` adds an explicit reject handler so a `Promise.all` failure on `completions` (e.g. a blob save errored) aborts the underlying transaction instead of leaking it _and_ the blob files. Both engines funnel synchronous throws and returned rejections from the whole commit chain through that cleanup once (`abortAfterCommitError`); LMDB captures `next` before its success path detaches the link, so a child's rejection still closes every uncommitted link. The cascade skips a link whose native commit is still outstanding — clearing its writes would unlink blobs that commit still references.
|
|
367
|
+
- `Table.ts` commit handlers set `write.skipped = true` (and reset to `false` at the top of each invocation) on early-return paths that don't write the record/audit: duplicate-tie, superseded-by-put, no-audit-fullUpdate-loses, and cache-resolve version-changed. The transaction commit success paths (`DatabaseTransaction.commit` and `LMDBTransaction.commit`) walk writes and call `cleanupUnusedBlobs(write.savedBlobs)` for every still-skipped write, except on RocksDB when its appending handle (`appendedTo`) committed or has a durable log and that write staged an audit entry referencing the files. A retained read snapshot can force replay onto a fresh handle: its abandoned, unsubmitted audit batch owns no files, even if `blobsAuditReferenced` remains set. Cleanup is deferred (rather than run inline in the commit handler) because the commit handler runs again on optimistic-lock retries, and a retry can flip a previously-skipped write into a successful one (e.g. the existing record gets deleted between attempts so the older replicated update suddenly wins). Inline cleanup would race the deletion's `setTimeout` against the retry that referenced the blob.
|
|
368
|
+
- `LMDBTransaction.abort` and `DatabaseTransaction.abort` walk all writes and run the same cleanup unconditionally (regardless of `skipped`), since nothing was committed — except on `DatabaseTransaction` when the aborted handle already has a durable transaction-log entry (`hasDurableLog(targetTransaction)`), whose logged entry may still be replayed or replicated, or when concurrent immediate commits share one `ImmediateTransaction` and sibling writes belong to another in-flight handle (`targetTransaction`). `DatabaseTransaction.commit` adds an explicit reject handler so a `Promise.all` failure on `completions` (e.g. a blob save errored) aborts the underlying transaction instead of leaking it _and_ the blob files. Both engines funnel synchronous throws and returned rejections from the whole commit chain through that cleanup once (`abortAfterCommitError`); LMDB captures `next` before its success path detaches the link, so a child's rejection still closes every uncommitted link. The cascade skips a link whose native commit is still outstanding — clearing its writes would unlink blobs that commit still references.
|
|
350
369
|
|
|
351
370
|
**A blob instance outlives its file, so deletion tombstones it.** The `fileId` stays set on a `Blob` whose file has been unlinked, and `saveBlob` short-circuits on a set `fileId` — so a caller still holding the instance (the deploy recorder re-puts the same record object across a deploy) would re-encode a reference to a file that is gone. `cleanupUnusedBlobs` marks the blob's shared file state when transaction cleanup decides the file is no longer usable, before an in-flight save settles; slices share that state with their source. Ordinary supersession keeps its retention and re-reference window; reclamation marks every queued instance only after it claims the unlink. `saveBlob` throws on a discarded instance rather than minting a second reference (issue #2062).
|
|
352
371
|
|
|
353
|
-
When adding a new commit-handler early-return path
|
|
372
|
+
When adding a new commit-handler early-return path, reset `write.skipped = false` per round and set it to `true` only when the round stages neither a record nor an audit entry. If this round stages an audit-only entry via `auditRecordToStore`, leave `skipped` unset: `save()` uses it to record `appendedAuditEntry` and `appendedTo`. An earlier attempt's committed or durable audit entry can still own a skipped retry's blobs; RocksDB cleanup checks `blobsAuditReferenced` and the appending handle's durability. Unsubmitted staging owns no files. `cleanupOrphans` is the periodic safety net; don't rely on it for transactional correctness.
|
|
354
373
|
|
|
355
374
|
**Source-unavailable blobs must not abort the commit.** `startPreCommitBlobsForRecord().complete()` awaits each blob's `saving` promise; a rejection there propagates up and aborts the record's apply (the replication subscription loop catches and logs it as `error in subscription handler`). For a blob the replication source can no longer provide — evicted/expired at the origin, the receiver having flagged the rejection `sourceBlobUnavailable` (harper-pro#403) — that abort permanently wedged a replication copy stream on an expiration cache table whose TTL-evicted blobs are gone everywhere: every orphaned record's apply re-threw, the copy never advanced, and backpressure pinned at ~100%. `complete()` therefore tolerates a `sourceBlobUnavailable` rejection (`isSourceBlobUnavailable`): the record commits with a diverged blob reference, left for proactive backfill (harper-pro#388). Local/transient save faults stay unmarked and still reject, so the write aborts and a reconnect retries it — no silent loss. This is the apply/commit-side complement to the replication receiver's resume-cursor advance (harper-pro#403/#405), which handles the durability-watermark side of the same missing blob.
|
|
356
375
|
|
|
@@ -366,7 +385,12 @@ Opt-in deflate compression for file-backed blobs (harper#2443) has three load-be
|
|
|
366
385
|
- **The owner's commit waits for the monitor's force-commit, and a transaction parked in its commit phase is spared, not poisoned** (issue #2062). That commit claims every staged write, marks the transaction `CLOSED`, and detaches its handle, so the owner's later `commit()` finds nothing to do. The monitor therefore stores the promise it got back as `monitorCommit`: `commit()` chains on it and the monitor clears it on success. A failure is kept until the owner's final (`doneWriting`) commit rejects with it and releases the context, since the monitor itself only logs it. That release is deliberately not `abort()`: a multi-store commit can fail after its head store landed, and `abort()`'s blob cleanup would unlink files the head's audit entries still reference. A landed store always finishes its own bookkeeping (writes cleared, record locks released) before a chained store's failure surfaces, including a synchronous throw from `next.commit()`. Separately, `commit()` sets `committing` around its pre-commit await (the `before`/`beforeIntermediate` completions — in practice a blob's durable file write) and the monitor logs instead of aborting while it is set. The limit polices an _application_ holding a transaction open with an unfinished write set; once `commit()` is entered the write set is sealed and the caller is awaiting the commit, so the time is core's own I/O, and a multi-tens-of-MB deploy payload legitimately outruns the limit. Poisoning there was actively destructive: `abort()` cleared the write set and unlinked the write's pre-saved blobs, and the resumed commit then found nothing to write and resolved as **success** — the caller was told its write landed, and was left holding a blob whose file was gone but whose `fileId` was still set, so its next `put` silently minted a reference to a destroyed file (the deploy-payload case: `Blob file not found` on the peer, unrecoverably). The grace is bounded — `COMMIT_PHASE_GRACE` over-limit ticks, ~10 min at the 30s default, since sparing re-arms `timeout` — because the transaction still pins a read snapshot; a source that stalls rather than finishing falls through to the normal abort. `sourceApply`/`isReplay` are spared without a bound: they may be neither aborted (harper-pro#348) nor force-committed mid-write (that would durably commit a replica record whose blob file is still being written), and their blob sources are bounded by the receive-side idle watchdog instead.
|
|
367
386
|
- **Resuming from that await re-checks that the transaction is still alive, but a submitted native commit is never aborted by the monitor.** `timedOut` (monitor poison, including via the `next` chain) throws `transactionOpenTooLongError`; a write set cleared with the handle released — a plain `abort()` in the same window — throws `Transaction was aborted while its commit was waiting on pre-commit work`. Without both, either path resolves as a phantom commit. `LMDBTransaction.commit` carries the same pair around its own `before` phase. Past the limit a submitted commit is deferred instead: after a short diagnostic grace the monitor poisons fresh ordinary follow-up work on the chain (`poisonAfterStalledSubmittedCommit`), reclaims read snapshots separate from the submitted writes, and logs once that the worker may need a restart. `sourceApply`/`isReplay` are observed, never poisoned. A pre-submit attempt on an already-poisoned link gets no commit-phase grace (`commitAttemptDoomedByPoison()`): its continuation throws on the resume check above, so sparing it would only pin its snapshot.
|
|
368
387
|
|
|
369
|
-
**Extending the budget for one known-long write:** `DatabaseTransaction.timeoutBudget` is a per-transaction RocksDB floor applied whenever the transaction is re-armed (initial reads, writes, and active multi-store-chain propagation); the effective timeout is `Math.max(txnExpiration, timeoutBudget)`. This makes the budget sticky across a write's pre-commit existing-entry read and later writes, while never shortening a larger global `STORAGE_MAXTRANSACTIONOPENTIME`; RocksDB links added for another store inherit the same floor. Reads after a pending write do not re-arm the transaction: that preserves the idle-limit invariant for orphaned write-holding requests. Also, `resources/transaction.ts`'s `transaction(callback)` (no explicit context) joins whatever transaction is already open on the ambient AsyncLocalStorage context rather than guaranteeing a fresh one. `components/deploymentRecorder.ts`'s `withIsolatedTransaction` builds a new context from only the ambient audit/session fields — not the request `signal`, so a deploy client that stops waiting cannot cancel the tracking writes and strand an `hdb_deployment` row mid-phase (see the disconnect note below) — and every recorder write commits independently without inheriting transaction controls. It uses the sticky budget to give `ingestPayload`'s blob-gated writes a size-appropriate limit instead of the generic default, while coalesced progress flushes are drained and suppressed until ingest settles to avoid same-row transaction conflicts. The ingest helper deliberately floors the shared `deployment_timeout` at ten minutes because `0` means “poll once” for peer waits; consequently an ingest can pin its system-database snapshot for that minimum. Known gap (harper#2057): the extension only reaches RocksDB transactions — on `HARPER_STORAGE_ENGINE=lmdb`, `Table.txnForContext()` chains a separate `LMDBTransaction` (`txn.next`) with its own independently-reset timeout that the LMDB engine's monitor tracks instead. **A commit's conflict retries have their own deadline, separate from the open-transaction limit** (issue #2450). rocksdb-js ≥2.8 wakes a commit parked on another transaction's write intent after `ROCKSDB_JS_PARK_TIMEOUT_MS` (5s) and returns `RETRY_NOW_VALUE` even when the holder never releases, so a wedged intent presents as a stream of transient conflicts rather than one hung commit — and the `MAX_RETRIES` cap alone then keeps the request pending for ~40 park timeouts, minutes past the configured queue limit. `DatabaseTransaction.commitStartedAt` is stamped on the **chain root** at its first native submission and read at both retry decisions (the coordinated `RETRY_NOW_VALUE` resolve path and the `ERR_BUSY`/`ERR_TRY_AGAIN` rejection path); past `Math.max(STORAGE_MAXTRANSACTIONQUEUETIME, timeoutBudget)`
|
|
388
|
+
**Extending the budget for one known-long write:** `DatabaseTransaction.timeoutBudget` is a per-transaction RocksDB floor applied whenever the transaction is re-armed (initial reads, writes, and active multi-store-chain propagation); the effective timeout is `Math.max(txnExpiration, timeoutBudget)`. This makes the budget sticky across a write's pre-commit existing-entry read and later writes, while never shortening a larger global `STORAGE_MAXTRANSACTIONOPENTIME`; RocksDB links added for another store inherit the same floor. Reads after a pending write do not re-arm the transaction: that preserves the idle-limit invariant for orphaned write-holding requests. Also, `resources/transaction.ts`'s `transaction(callback)` (no explicit context) joins whatever transaction is already open on the ambient AsyncLocalStorage context rather than guaranteeing a fresh one. `components/deploymentRecorder.ts`'s `withIsolatedTransaction` builds a new context from only the ambient audit/session fields — not the request `signal`, so a deploy client that stops waiting cannot cancel the tracking writes and strand an `hdb_deployment` row mid-phase (see the disconnect note below) — and every recorder write commits independently without inheriting transaction controls. It uses the sticky budget to give `ingestPayload`'s blob-gated writes a size-appropriate limit instead of the generic default, while coalesced progress flushes are drained and suppressed until ingest settles to avoid same-row transaction conflicts. The ingest helper deliberately floors the shared `deployment_timeout` at ten minutes because `0` means “poll once” for peer waits; consequently an ingest can pin its system-database snapshot for that minimum. Known gap (harper#2057): the extension only reaches RocksDB transactions — on `HARPER_STORAGE_ENGINE=lmdb`, `Table.txnForContext()` chains a separate `LMDBTransaction` (`txn.next`) with its own independently-reset timeout that the LMDB engine's monitor tracks instead. **A commit's conflict retries have their own deadline, separate from the open-transaction limit** (issue #2450). rocksdb-js ≥2.8 wakes a commit parked on another transaction's write intent after `ROCKSDB_JS_PARK_TIMEOUT_MS` (5s) and returns `RETRY_NOW_VALUE` even when the holder never releases, so a wedged intent presents as a stream of transient conflicts rather than one hung commit — and the `MAX_RETRIES` cap alone then keeps the request pending for ~40 park timeouts, minutes past the configured queue limit. `DatabaseTransaction.commitStartedAt` is stamped on the **chain root** (or on the `ImmediateTransaction` instance while a single handle is active, migrating onto the per-write native `RocksTransaction` handle when concurrent commits overlap or a late immediate commit runs on a closed request scope) at its first native submission and read at both retry decisions (the coordinated `RETRY_NOW_VALUE` resolve path and the `ERR_BUSY`/`ERR_TRY_AGAIN` rejection path); past `Math.max(STORAGE_MAXTRANSACTIONQUEUETIME, timeoutBudget)` an unlogged commit takes the existing `abortChainAfterRetries()` cleanup and throws a 503 `TransactionCommitConflictTimeoutError`. One clock per _logical_ commit, deliberately not per attempt: the per-attempt clock is `trackOutstandingCommit()`'s, which measures native liveness and drives `checkOverloaded()`'s thread-wide shedding, so back-dating it would let one uncapped `sourceApply` retry shed every unrelated request on the thread. The clock is released through the promise `commit()` returns (which settles only after the chained stores' commits), so a reused transaction's next batch starts fresh. `retryable` is true only on a chain root that has rotated through no mid-scope commit — anywhere else an earlier store already wrote durable audit entries and ran its hooks that a replayed request would repeat. `sourceApply` is exempt, as it is from the attempt cap, for the harper-pro#348 divergence reason above.
|
|
389
|
+
|
|
390
|
+
- **Once a transaction has a durable transaction-log entry, it is never aborted on retry** (harper#3236). In rocksdb-js, `Transaction::Commit` flushes staged `TransactionLog` batches (`executeLogWork`, assigning `committedPosition`) _before_ `txn->Commit()` checks optimistic conflicts; on conflict the handle resets onto a fresh snapshot while keeping `committedPosition > 0` so the log is write-once (rocksdb-js#668), and aborting it throws `ERR_TRANSACTION_ABANDONED` and orphans a durable log entry that live reads miss while subscriptions and `replayLogs()` apply.
|
|
391
|
+
- **Per-handle invariant:** once a handle's first native commit returns a conflict (`hasDurableLog(transaction)` = `isRetry && hasStagedLog`, evaluated per native handle so an unlogged link in a multi-store chain still respects `suspendDatabaseCommits` and retry bounds), `DatabaseTransaction` treats it like `sourceApply`: the caller stays awaiting an uncapped retry (so the #2450 deadline and 40-attempt cap apply only before the first log flush or on `audit: false` tables), record-lock lease-expiry aborts are skipped while post-expiry/release native unlock is deferred up to the conflict budget, `deferForCommitInFlight` reclaims separate read snapshots without poisoning or logging the unknown-outcome restart error, and `ImmediateTransaction` stages only writes whose `save()` has been invoked while isolating per-commit state on the native handle when concurrent commits overlap.
|
|
392
|
+
- **Operational cost:** while a logged retry waits on a conflicting write intent (which `abortDueToTimeout` clears after ~2 ticks of `STORAGE_MAXTRANSACTIONOPENTIME` if held by an unsubmitted open transaction), its position in `uncommittedPositions` pins the database's `'local'` transaction-log read watermark for live subscriptions and replication (reported by `noteOverdueLoggedCommit`), the caller awaits convergence without a 503-pending or detached background commit, and `waitForDrain()` holds across retry backoff delays up to its 120s deadline.
|
|
393
|
+
- **Native follow-up (harper#3253):** validating conflicts before `executeLogWork` so a conflicting commit never flushes a log entry or pins the read watermark, exposing `committedPosition`, and reconciling non-conflict or post-drain aborts live in rocksdb-js.
|
|
370
394
|
|
|
371
395
|
## A client disconnect cancels the request's writes (`resources/transaction.ts`)
|
|
372
396
|
|
|
@@ -475,12 +499,14 @@ old value. The gap is general to `Table.save()`, not lock-specific. Exercised by
|
|
|
475
499
|
## A commit retry re-saves into the transaction it is retrying; `ImmediateTransaction.save()` must forward it
|
|
476
500
|
|
|
477
501
|
Every retry and replay round of `commit()` re-stages into the native handle being retried, and
|
|
478
|
-
`ImmediateTransaction.save()`
|
|
479
|
-
`DatabaseTransaction.save()` opens a fresh handle and nests a `commit()` whose
|
|
480
|
-
the override without bound (`RangeError`, harper#2825)
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
502
|
+
`ImmediateTransaction.save()` forwards whenever `isCommitting` is set or the call carries `transaction`
|
|
503
|
+
or `options`: without it, `DatabaseTransaction.save()` opens a fresh handle and nests a `commit()` whose
|
|
504
|
+
retry loop re-enters the override without bound (`RangeError`, harper#2825), or a nested retry running
|
|
505
|
+
after `isCommitting` reset starts a new top-level commit instead of re-staging onto its own handle. A
|
|
506
|
+
retry round's handle is detached, so a re-save that throws releases it before `abort()`, or its write
|
|
507
|
+
intents park other writers until GC. Pinned by `immediateTransactionConflictRetry.test.js` ("…not a
|
|
508
|
+
nested commit", "releases the replay transaction when a lapsed lease refuses a re-save…") and
|
|
509
|
+
`noAbortAfterTxnLog.test.js`.
|
|
484
510
|
|
|
485
511
|
## A transaction is joinable as a scope only if it stages its writes (`transaction`/`Resource`/`Table`)
|
|
486
512
|
|
|
@@ -583,6 +609,12 @@ The additive-only rule above repairs the _consumer_ of a partial peer snapshot;
|
|
|
583
609
|
|
|
584
610
|
`table()` therefore writes the primary-key descriptor (`<table>/` — the row `initStores` needs before it will load a table; a row carrying `isPrimaryKey` is accepted too, for pre-5.x catalogs, so the primary-key descriptor must stay the last row written whatever key it lands on) only after every attribute row, still under the exclusive lock, and registers the class in this worker's `databases` map immediately after it. That write is also where the rollback stops: the row is durable the moment the put returns — on LMDB the `finally` that releases the exclusive lock commits the create's write transaction whether or not an error is unwinding — so a create that throws past it (registering the class, persisting relationships) keeps every row it wrote, and undoing them would leave the primary-only catalog this rule exists to prevent. `initStores` skips — with a warn — a table that has attribute rows but no primary row. The catalog is either invisible or complete to every other thread, so no thread can build or announce a partial `Table`. A scan that finds the incomplete catalog also drops a class it still holds from a dropped same-name table, rather than serving that stale generation through the recreate. A create that throws before its primary row is registered nowhere, and `table()` releases what it had opened for the class (primary store, index stores, the audit delete-removal callback, and its storage-reclamation handler — `removeStorageReclamationHandler`, because a RocksDB column family shares its reclamation path with every other family in the database). LMDB already had this property because `exclusiveLock()` there is an environment-wide write transaction. Consequence for an interrupted create: orphan attribute rows, no primary row, and the column families opened before the crash (as before), so the table does not load at all instead of loading with whatever attributes had landed; re-running `create_table` writes the rows, reuses the families, and the new-table reconcile removes any orphan row the new definition does not declare. The guarantee holds only once every schema-creating node runs this code: an older peer still announces primary-first snapshots, so the receiver-side additive rule above stays necessary. Regression coverage: `unitTests/resources/createTableCatalogOrder.test.js` (write order, a create failing on either side of the publish point, and a second worker thread scanning the catalog while the create is paused).
|
|
585
611
|
|
|
612
|
+
## A keyless table's bare catalog row names its primary store (`databases.ts` `isPrimaryCatalogRow`)
|
|
613
|
+
|
|
614
|
+
A keyless table's bare `<table>/` row has no `name`, and some in the field have also lost `isPrimaryKey` (the producer is unknown; harper#3225). Its store still holds primary-format records. So the paths that decided primary-ness from the flag alone now use `isPrimaryCatalogRow` (flagged, or a nameless bare row): `initStores` selecting a table's store, `copyDb` copying or verifying a database, and the interrupted-drop and LMDB-drop paths. `primaryCatalogRowFor`, `liveStoreNamesFor` and `dropTableMeta` already decide from the bare key. `initStores` opens whatever it selected as a primary store. Deriving the open flags from `isPrimaryKey` instead opened primary-format records as an index store. On 5.1 the table read as empty and rejected every write; from 5.2 `handleLocalTimeForGets` reached LMDB-only code and the whole database failed to load. Not covered: a keyed table's bare row that loses the flag keeps its `name`, so `initStores` still skips it with the "no primary key row" warning.
|
|
615
|
+
|
|
616
|
+
A primary key declared on an existing keyless table cannot re-key its records. So `table()` clears `isPrimaryKey`, and the `primaryKey` mark in `properties`, on every declared key attribute, whatever the caller, and they persist as ordinary attributes. A schema-authored declaration logs an error naming the table; a peer definition logs the usual `Ignoring peer redefinition` warning. `updatedAttributes()` resets the class's cached `primaryKeyAttribute`, so nothing (notably `getNewId`) behaves as if the key applied. Regression coverage: `unitTests/resources/keylessTable.test.js`, `unitTests/bin/migrationKeylessTable.test.js`, `integrationTests/database/keyless-table-catalog.test.ts`.
|
|
617
|
+
|
|
586
618
|
## Subscription version selection (`Table.ts`)
|
|
587
619
|
|
|
588
620
|
`Table.subscribe` resolves audit events through `eventFromAudit` for both replay and live delivery: unless `includeSuperseded` (defaulting to `rawEvents`) is enabled, record mutations must match the current primary version; an absent primary entry cannot establish a current version and is skipped. Publishing advances that primary version too: a put followed by a publish replays the message but not the put under the default rule. Messages and control events are independent. Version filtering precedes historical reconstruction and `previousCount` acceptance, while audit cursors advance over rejected entries. Single-record replay retains its bounded history walk because it also contains independent published messages; only an accepted replay event suppresses the current snapshot, and `eventFilter` also applies to that fallback. Default replay reads the current primary entry for each mutation. Live delivery makes one exception to dropping superseded mutations: when an older write commits after a newer one, out-of-order resequencing merges it into the record under the newer version and marks the entry `VERSION_REUSED`; the newer version's event may already have gone out without the merged change, so a superseded live mutation that the record lists among its folded writes (`additionalAuditRefs`, with that flag set) delivers the record's current state, once per merged write rather than for every older entry (`subscriptionLatePatch.test.js`). A RocksDB transaction's timestamp is assigned when it is created, and commits complete in any order (a transaction whose body awaits, or rocksdb-js's concurrent commit threads), so timestamps are not a delivery boundary: the collection current-state branch does not advance `subscription.startTime` to the newest record time its scan saw, nor filter buffered events by it, because writes to records the scan already passed, messages, and older transactions committing after the scan all fall at or below it (`subscriptionLateCommit.test.js`, harper#2933). Default events already carry only current record versions, so the cost is duplicate current values under the retained-message semantics the scan already has. A delete is materialized from the record's current entry. At the end of a default full-record snapshot, `keepCurrentRecordEvent` refreshes a buffered mutation's value, version and type from that entry when its version has advanced: a publish can advance the version without any replacement row-state event, so dropping the buffered mutation would lose the update or deletion (`subscriptionBufferedState.test.js`). A recreated row turns a buffered delete into its current put; messages keep their independent payloads. The original localTime and audit-size attribution stay with the buffered event, and row/event filters run on the refreshed value at delivery. Duplicate current-state deliveries remain intentional, including equal-version folded writes; no per-key dedupe is introduced. Raw current-only events retain the stale-drop rule. This repairs already-buffered events only: the pre-existing live version guard can still reject a mutation before it is buffered when a later publish is already visible. Publishing's existing metadata mask can also clear INVALIDATED; refresh follows the resulting primary state rather than changing publish semantics. `includeSuperseded` subscribers without certified progress keep the time gate, since their events are historical records, and so does the `previousCount` branch; both still drop an older transaction that commits after the scan. Progress-reporting snapshots keep every buffered event and leave the live time gate untouched, including durable MQTT QoS>0 on RocksDB. Every subscriber of a key on a thread receives the same audit-record object in one notify pass, so `currentEntryForAudit` reads that entry once per audit record instead of once per subscriber (`subscriptionEntryRead.test.js`). It memoizes on the record object's identity (plus store and record id), which holds only because `readAuditEntry` decodes a fresh object per log entry and a key's subscribers are walked synchronously; the memo is cleared by a microtask after each pass, so it never outlives the delivery it serves or pins a dropped table's store. Opting into superseded full records retains audit-history reconstruction costs and retention limits, including patch reconstruction on durable MQTT live delivery. Collection `startTime` replay leaves `subscription.startTime` — the exclusive replay cursor, separate from the per-topic positions `DurableSubscriptionsSession.saveSubscriptions` persists — never past a key with an unhandled in-table record: RocksDB gives every record of a transaction one `txnLogKey`, so the cursor moves to a key only on reaching the next key or finishing, and an early return (failed send, close at a yield or drain) leaves it up to one transaction back, which the resume re-sends (`subscriptionReplay.test.js`, "cursor after replay stops early"). The cursor counts events handed to the subscription queue, not consumed ones; `close()` discards the queue.
|