@powersync/service-module-mongodb-storage 0.18.2 → 0.19.0

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 (143) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.d.ts +3 -0
  3. package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.js +41 -0
  4. package/dist/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.js.map +1 -0
  5. package/dist/storage/MongoBucketStorage.d.ts +5 -1
  6. package/dist/storage/MongoBucketStorage.js +5 -1
  7. package/dist/storage/MongoBucketStorage.js.map +1 -1
  8. package/dist/storage/implementation/MongoBucketBatch.d.ts +3 -0
  9. package/dist/storage/implementation/MongoBucketBatch.js.map +1 -1
  10. package/dist/storage/implementation/MongoChecksums.d.ts +2 -0
  11. package/dist/storage/implementation/MongoChecksums.js +3 -2
  12. package/dist/storage/implementation/MongoChecksums.js.map +1 -1
  13. package/dist/storage/implementation/MongoCompactor.d.ts +15 -19
  14. package/dist/storage/implementation/MongoCompactor.js +68 -260
  15. package/dist/storage/implementation/MongoCompactor.js.map +1 -1
  16. package/dist/storage/implementation/MongoStorageProvider.js +26 -3
  17. package/dist/storage/implementation/MongoStorageProvider.js.map +1 -1
  18. package/dist/storage/implementation/MongoSyncBucketStorage.d.ts +12 -5
  19. package/dist/storage/implementation/MongoSyncBucketStorage.js +25 -14
  20. package/dist/storage/implementation/MongoSyncBucketStorage.js.map +1 -1
  21. package/dist/storage/implementation/MongoWriteCheckpointAPI.d.ts +2 -1
  22. package/dist/storage/implementation/MongoWriteCheckpointAPI.js +146 -34
  23. package/dist/storage/implementation/MongoWriteCheckpointAPI.js.map +1 -1
  24. package/dist/storage/implementation/common/MongoSyncBucketStorageCheckpoint.d.ts +2 -0
  25. package/dist/storage/implementation/common/PersistedBatch.d.ts +6 -0
  26. package/dist/storage/implementation/common/PersistedBatch.js +15 -8
  27. package/dist/storage/implementation/common/PersistedBatch.js.map +1 -1
  28. package/dist/storage/implementation/models.d.ts +16 -0
  29. package/dist/storage/implementation/models.js.map +1 -1
  30. package/dist/storage/implementation/v1/MongoCompactorV1.d.ts +11 -2
  31. package/dist/storage/implementation/v1/MongoCompactorV1.js +250 -1
  32. package/dist/storage/implementation/v1/MongoCompactorV1.js.map +1 -1
  33. package/dist/storage/implementation/v1/MongoSyncBucketStorageV1.js +20 -11
  34. package/dist/storage/implementation/v1/MongoSyncBucketStorageV1.js.map +1 -1
  35. package/dist/storage/implementation/v1/SingleBucketStoreV1.d.ts +9 -10
  36. package/dist/storage/implementation/v1/SingleBucketStoreV1.js +2 -8
  37. package/dist/storage/implementation/v1/SingleBucketStoreV1.js.map +1 -1
  38. package/dist/storage/implementation/v3/BucketDataContextV3.d.ts +13 -0
  39. package/dist/storage/implementation/v3/BucketDataContextV3.js +23 -0
  40. package/dist/storage/implementation/v3/BucketDataContextV3.js.map +1 -0
  41. package/dist/storage/implementation/v3/MongoBucketBatchV3.js +3 -1
  42. package/dist/storage/implementation/v3/MongoBucketBatchV3.js.map +1 -1
  43. package/dist/storage/implementation/v3/MongoChecksumsV3.d.ts +1 -0
  44. package/dist/storage/implementation/v3/MongoChecksumsV3.js +59 -103
  45. package/dist/storage/implementation/v3/MongoChecksumsV3.js.map +1 -1
  46. package/dist/storage/implementation/v3/MongoCompactorV3.d.ts +23 -2
  47. package/dist/storage/implementation/v3/MongoCompactorV3.js +354 -219
  48. package/dist/storage/implementation/v3/MongoCompactorV3.js.map +1 -1
  49. package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.d.ts +5 -0
  50. package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.js +12 -11
  51. package/dist/storage/implementation/v3/MongoStoppedSyncConfigCleanup.js.map +1 -1
  52. package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.d.ts +5 -3
  53. package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js +109 -106
  54. package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js.map +1 -1
  55. package/dist/storage/implementation/v3/PersistedBatchV3.d.ts +5 -2
  56. package/dist/storage/implementation/v3/PersistedBatchV3.js +53 -15
  57. package/dist/storage/implementation/v3/PersistedBatchV3.js.map +1 -1
  58. package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.d.ts +2 -1
  59. package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.js +3 -0
  60. package/dist/storage/implementation/v3/VersionedPowerSyncMongoV3.js.map +1 -1
  61. package/dist/storage/implementation/v3/bucket-format.d.ts +10 -1
  62. package/dist/storage/implementation/v3/bucket-format.js +28 -9
  63. package/dist/storage/implementation/v3/bucket-format.js.map +1 -1
  64. package/dist/storage/implementation/v3/chunking.js +3 -1
  65. package/dist/storage/implementation/v3/chunking.js.map +1 -1
  66. package/dist/storage/implementation/v3/models.d.ts +38 -1
  67. package/dist/storage/implementation/v3/models.js.map +1 -1
  68. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.d.ts +21 -0
  69. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js +44 -0
  70. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js.map +1 -0
  71. package/dist/storage/implementation/v3/object-storage/ObjectStorage.d.ts +30 -0
  72. package/dist/storage/implementation/v3/object-storage/ObjectStorage.js +12 -0
  73. package/dist/storage/implementation/v3/object-storage/ObjectStorage.js.map +1 -0
  74. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.d.ts +70 -0
  75. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js +146 -0
  76. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js.map +1 -0
  77. package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.d.ts +42 -0
  78. package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.js +285 -0
  79. package/dist/storage/implementation/v3/object-storage/S3ObjectStorage.js.map +1 -0
  80. package/dist/types/types.d.ts +35 -0
  81. package/dist/types/types.js +35 -1
  82. package/dist/types/types.js.map +1 -1
  83. package/dist/utils/test-utils.js +3 -1
  84. package/dist/utils/test-utils.js.map +1 -1
  85. package/dist/utils/util.d.ts +8 -1
  86. package/dist/utils/util.js +125 -2
  87. package/dist/utils/util.js.map +1 -1
  88. package/package.json +10 -7
  89. package/src/migrations/db/migrations/1782950400000-checkpoint-requested-at-index.ts +55 -0
  90. package/src/storage/MongoBucketStorage.ts +10 -2
  91. package/src/storage/implementation/MongoBucketBatch.ts +4 -0
  92. package/src/storage/implementation/MongoChecksums.ts +5 -2
  93. package/src/storage/implementation/MongoCompactor.ts +90 -314
  94. package/src/storage/implementation/MongoStorageProvider.ts +32 -3
  95. package/src/storage/implementation/MongoSyncBucketStorage.ts +34 -24
  96. package/src/storage/implementation/MongoWriteCheckpointAPI.ts +164 -37
  97. package/src/storage/implementation/common/MongoSyncBucketStorageCheckpoint.ts +2 -0
  98. package/src/storage/implementation/common/PersistedBatch.ts +22 -10
  99. package/src/storage/implementation/models.ts +16 -0
  100. package/src/storage/implementation/v1/MongoCompactorV1.ts +292 -8
  101. package/src/storage/implementation/v1/MongoSyncBucketStorageV1.ts +54 -40
  102. package/src/storage/implementation/v1/SingleBucketStoreV1.ts +18 -27
  103. package/src/storage/implementation/v3/BucketDataContextV3.ts +32 -0
  104. package/src/storage/implementation/v3/MongoBucketBatchV3.ts +3 -1
  105. package/src/storage/implementation/v3/MongoChecksumsV3.ts +75 -105
  106. package/src/storage/implementation/v3/MongoCompactorV3.ts +456 -258
  107. package/src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts +21 -19
  108. package/src/storage/implementation/v3/MongoSyncBucketStorageV3.ts +123 -126
  109. package/src/storage/implementation/v3/PersistedBatchV3.ts +69 -16
  110. package/src/storage/implementation/v3/VersionedPowerSyncMongoV3.ts +5 -0
  111. package/src/storage/implementation/v3/bucket-format.ts +36 -9
  112. package/src/storage/implementation/v3/chunking.ts +3 -1
  113. package/src/storage/implementation/v3/models.ts +40 -1
  114. package/src/storage/implementation/v3/object-storage/BucketDataObjectStorage.ts +54 -0
  115. package/src/storage/implementation/v3/object-storage/ObjectStorage.ts +29 -0
  116. package/src/storage/implementation/v3/object-storage/ObjectStorageLifecycle.ts +171 -0
  117. package/src/storage/implementation/v3/object-storage/S3ObjectStorage.ts +343 -0
  118. package/src/types/types.ts +42 -1
  119. package/src/utils/test-utils.ts +3 -1
  120. package/src/utils/util.ts +182 -4
  121. package/test/src/__snapshots__/storage_sync.test.ts.snap +1 -583
  122. package/test/src/cleanup-stopped-sync-configs.test.ts +24 -1
  123. package/test/src/helpers/MemoryObjectStorage.ts +53 -0
  124. package/test/src/helpers/s3TestFactory.ts +69 -0
  125. package/test/src/object_storage_lifecycle.test.ts +59 -0
  126. package/test/src/setup.ts +6 -1
  127. package/test/src/storage.test.ts +216 -2
  128. package/test/src/storage_compacting.test.ts +176 -187
  129. package/test/src/storage_object_storage_inline_threshold.test.ts +116 -0
  130. package/test/src/storage_s3_checksums.test.ts +191 -0
  131. package/test/src/storage_s3_compaction_lifecycle.test.ts +417 -0
  132. package/test/src/storage_s3_reading.test.ts +526 -0
  133. package/test/src/storage_s3_writing.test.ts +135 -0
  134. package/test/src/storage_sync.test.ts +95 -5
  135. package/tsconfig.tsbuildinfo +1 -1
  136. package/dist/storage/implementation/common/SingleBucketStore.d.ts +0 -54
  137. package/dist/storage/implementation/common/SingleBucketStore.js +0 -3
  138. package/dist/storage/implementation/common/SingleBucketStore.js.map +0 -1
  139. package/dist/storage/implementation/v3/SingleBucketStoreV3.d.ts +0 -18
  140. package/dist/storage/implementation/v3/SingleBucketStoreV3.js +0 -84
  141. package/dist/storage/implementation/v3/SingleBucketStoreV3.js.map +0 -1
  142. package/src/storage/implementation/common/SingleBucketStore.ts +0 -63
  143. package/src/storage/implementation/v3/SingleBucketStoreV3.ts +0 -108
@@ -1 +1 @@
1
- {"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAW,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAKvE,OAAO,EAAe,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAI3C,KAAK,CAAC,CAAC,kBAAkB,CAAC,OAGhC;QACC,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAyD,CAAC;QAC9G,KAAK,CAAC,CAAC,IAAI,CAAC,+BAA+B,CACzC,UAAU,EACV,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAA6C,EAC3F,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,EAA6C,EAC3F,OAAO,EACP,CAAC,WAAW,EAAE,EAAE,CAAE,WAAqC,CAAC,GAAG,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,4BAA4B,CAAC,OAAqC;QAC7E,IAAI,OAAO,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,yBAAyB,CAAC,+BAA+B,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,CAAC,yCAAyC,CACnD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAyD,EAC1F;YACE,8BAA8B,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,gBAAgB,EAAE;SACf,EACrD,CAAC,WAAW,EAAE,EAAE,CAAE,WAAqC,CAAC,GAAG,CAAC,CAAC,CAC9D,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,uBAAuB;QACrC,MAAM,IAAI,CAAC,EAAE;aACV,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1B,SAAS,CAAC,IAAI,CAAC,kBAA0E,EAAE;YAC1F,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,IAAY,mBAAmB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,SAA6B,CAAC;IACpD,CAAC;IAES,KAAK,CAAC,0BAA0B,CACxC,OAAuD;QAEvD,OAAO,IAAI,CAAC,mBAAmB,CAAC,yCAAyC,CACvE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE;YACvC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,MAAM,IAAI,qBAAqB,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;YACzG,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,YAAY;gBACZ,GAAG,EAAE,IAAI,CAAC,OAAO;aAClB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAES,iBAAiB,CACzB,MAAc,EACd,YAAuC;QAEvC,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,qBAAqB,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;QACzG,CAAC;QACD,OAAO;YACL,GAAG,EAAE;gBACH,CAAC,EAAE,YAAY;gBACf,CAAC,EAAE,MAAM;aACV;SACF,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,oBAAoB,CAClC,MAAc,EACd,YAAuC;QAEvC,IAAI,oBAAoB,GAAG,YAAY,CAAC;QAExC,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACrE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,YAAY,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC1E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;oBACnE,GAAG,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE;iBAC3B,CAAC,CAAC;gBACH,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,oBAAoB,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAE,EAAE;YACtC,MAAM;YACN,YAAY,EAAE,oBAAoB;YAClC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;SACnC,CAAC,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,eAA0C,IAAI;QACzG,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5E,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,MAAM,oBAAoB,GAAG,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,EAAE,mBAAmB,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,oBAAoB,EAAE,CAAC;QAE3F,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;QACvC,IAAI,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC;QAErC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,kBAAkB,GAAyB,IAAI,CAAC;QAEpD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,kCAAkC;QAClC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAE9B,MAAM,QAAQ,GAAqB;gBACjC;oBACE,MAAM,EAAE;wBACN,OAAO,EAAE,MAAM;wBACf,GAAG,EAAE;4BACH,IAAI,EAAE,UAAU;4BAChB,GAAG,EAAE,UAAU;yBAChB;qBACF;iBACF;gBACD,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;gBACtB,EAAE,MAAM,EAAE,IAAI,CAAC,mBAAmB,EAAE;gBACpC;oBACE,QAAQ,EAAE;wBACR,GAAG,EAAE,CAAC;wBACN,MAAM,EAAE,CAAC;wBACT,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE,CAAC;wBACR,IAAI,EAAE,CAAC;wBACP,SAAS,EAAE,CAAC;wBACZ,GAAG,EAAE,CAAC;wBACN,QAAQ,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;qBAClC;iBACF;aACF,CAAC;YAEF,MAAM,QAAQ,GAAG,MAAM,UAAU;iBAC9B,SAAS,CAAuD,QAAQ,EAAE;gBACzE,SAAS,EAAE,IAAI,CAAC,mBAAmB,GAAG,CAAC;aACxC,CAAC;iBACD,OAAO,EAAE,CAAC;YAEb,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACzB,0DAA0D;gBAC1D,MAAM;YACR,CAAC;YAED,kCAAkC;YAClC,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;YAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,eAAe,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,eAAe,GAAG,IAAI,CAAC,kBAAkB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvD,kEAAkE;oBAClE,qEAAqE;oBACrE,aAAa,GAAG,CAAC,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YAEnD,+CAA+C;YAC/C,wDAAwD;YACxD,+EAA+E;YAC/E,MAAM,QAAQ,GAAoB,EAAE,CAAC;YACrC,MAAM,eAAe,GAA6D,EAAE,CAAC;YAErF,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,IAAI,aAAa,GAAG,KAAK,CAAC;gBAC1B,MAAM,YAAY,GAAoB,EAAE,CAAC;gBACzC,KAAK,MAAM,EAAE,IAAI,sBAAsB,CAAC,OAAO,EAAE,GAAsC,CAAC,EAAE,CAAC;oBACzF,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACzB,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,IAAI,aAAa,EAAE,CAAC;oBAClB,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;gBACjC,CAAC,CAAC,gEAAgE;YACpE,CAAC;YAED,IAAI,eAAe,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,0EAA0E;gBAC1E,kCAAkC;gBAClC,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAwB,CAAC;gBACtE,IAAI,aAAa,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBACnF,oEAAoE;oBACpE,MAAM;gBACR,CAAC;gBACD,0DAA0D;gBAC1D,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,iEAAiE;YACjE,+EAA+E;YAC/E,yEAAyE;YACzE,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACtD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC;YAChD,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YACtF,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAEjF,kDAAkD;YAClD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE9D,iDAAiD;YACjD,MAAM,SAAS,GAAoB,EAAE,CAAC;YAEtC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAC;oBACxC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wBACxB,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnB,SAAS,CAAC,4CAA4C;oBACxD,CAAC;oBACD,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,MAAM,IAAI,QAAQ,CAAC,EAAE,CAAC,YAAa,EAAE,EAAE,CAAC,UAAW,CAAC,EAAE,CAAC;oBACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;wBACrB,SAAS,CAAC,IAAI,CAAC;4BACb,GAAG,EAAE;4BACL,EAAE,EAAE,MAAM;4BACV,SAAS,EAAE,QAAQ;4BACnB,KAAK,EAAE,SAAS;4BAChB,MAAM,EAAE,SAAS;4BACjB,YAAY,EAAE,SAAS;4BACvB,UAAU,EAAE,SAAS;4BACrB,IAAI,EAAE,IAAI;yBACX,CAAC,CAAC;wBACH,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;4BACvB,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;wBACpB,CAAC;wBACD,WAAW,IAAI,CAAC,CAAC;oBACnB,CAAC;yBAAM,CAAC;wBACN,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;4BACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;4BACnC,YAAY,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC;wBACnC,CAAC;wBACD,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnB,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;4BACnB,UAAU,GAAG,IAAI,CAAC;4BAClB,WAAW,GAAG,CAAC,CAAC;wBAClB,CAAC;6BAAM,CAAC;4BACN,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gCACvB,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;4BACpB,CAAC;4BACD,WAAW,IAAI,CAAC,CAAC;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACnB,IAAI,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;wBACrB,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;4BACvB,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;wBACpB,CAAC;wBACD,WAAW,IAAI,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,SAAS,CAAC,OAAO,EAAE,CAAC;YAEpB,kDAAkD;YAClD,MAAM,MAAM,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAE1E,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;gBACvB,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,GAAG,UAAU,CAAC;gBAC9B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,UAAU,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC;gBAC/F,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;oBACxB,kBAAkB,GAAG,WAAW,CAAC,GAAG,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,wDAAwD;YACxD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,eAAe,CAC3B,KAAK,IAAI,EAAE;oBACT,6DAA6D;oBAC7D,8DAA8D;oBAC9D,+DAA+D;oBAC/D,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,UAAU;yBAChD,SAAS,CACR;wBACE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE;wBACzC;4BACE,MAAM,EAAE;gCACN,GAAG,EAAE,IAAI;gCACT,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;gCACrB,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;gCAClC,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;6BAC/B;yBACF;qBACF,EACD,EAAE,OAAO,EAAE,CACZ;yBACA,IAAI,EAAE,CAAC;oBAEV,IACE,YAAY,IAAI,IAAI,IAAI,mBAAmB;wBAC3C,YAAY,CAAC,QAAQ,KAAK,gBAAgB,IAAI,oBAAoB;wBAClE,YAAY,CAAC,WAAW,KAAK,gBAAgB,IAAI,yBAAyB;wBAC1E,YAAY,CAAC,UAAU,KAAK,eAAe,CAAC,gCAAgC;sBAC5E,CAAC;wBACD,MAAM,IAAI,KAAK,CACb,8CAA8C,MAAM,uCAAuC,CAC5F,CAAC;oBACJ,CAAC;oBAED,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CACvC;wBACE,GAAG,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE;qBACnB,EACR,EAAE,OAAO,EAAE,CACZ,CAAC;oBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvB,MAAM,aAAa,CAAC,UAAU,CAAC,UAAU,CAAC,OAAiD,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;oBAC5G,CAAC;gBACH,CAAC,EACD;oBACE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;oBAC/B,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;iBACnC,CACF,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;YAC7B,CAAC;YAED,kCAAkC;YAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;oBACvB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACzB,aAAa,GAAG,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACjE,YAAY,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;YAEtE,gCAAgC;YAChC,UAAU,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,GAAG,CAAsB,CAAC;YAE1G,IAAI,aAAa,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACpC,0EAA0E;gBAC1E,6DAA6D;YAC/D,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,2EAA2E;gBAC3E,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC/C,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,CAAC,MAAM,yBAAyB,MAAM,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,6DAA6D;QAC7D,IAAI,UAAU,IAAI,IAAI,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YAC3C,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAC/B,MAAM,IAAI,yBAAyB,CAAC,8CAA8C,MAAM,EAAE,CAAC,CAAC;YAC9F,CAAC;YAED,YAAY,IAAI,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QACpH,CAAC;QAED,sDAAsD;QACtD,IAAI,CAAC,qBAAqB,CAAC;YACzB,MAAM;YACN,YAAY,EAAE,oBAAoB;YAClC,IAAI,EAAE,IAAI,GAAG,EAAE;YACf,YAAY,EAAE,CAAC;YACf,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,YAAY;SACtB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,MAAM,KAAK,YAAY,gBAAgB,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,kBAAkB,CAC9B,UAAkB,EAClB,aAA4B,EAC5B,aAAkC,EAClC,UAAmF,EACnF,OAA8D;QAE9D,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,qFAAqF;YACrF,2DAA2D;YAC3D,OAAO,CAAC,IAAI,EAAE,CAAC;gBACb,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAChD,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,CACR,CAAC;gBACF,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAClB,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC;YACnC,CAAC;YAED,0GAA0G;YAC1G,mGAAmG;YACnG,WAAW,IAAI,MAAM,IAAI,CAAC,qBAAqB,CAC7C,OAAO,EACP,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,OAAO,CACR,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CACrC,OAA4B,EAC5B,UAAkB,EAClB,aAA4B,EAC5B,aAAkC,EAClC,UAAmF,EACnF,OAA8D;QAE9D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QACxC,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,eAAe,CAC3B,KAAK,IAAI,EAAE;YACT,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAC3B;gBACE,GAAG,EAAE;oBACH,IAAI,EAAE,aAAa,CAAC,KAAK;oBACzB,GAAG,EAAE,aAAa;iBACnB;aACF,EACD;gBACE,OAAO;gBACP,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBAChB,UAAU,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,GAAG,EAAE,CAAC;iBACP;gBACD,KAAK,EAAE,IAAI,CAAC,eAAe;aAC5B,CACF,CAAC;YAEF,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,IAAI,SAAS,GAAyB,IAAI,CAAC;YAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,aAAa,GAAG,KAAK,CAAC;YAE1B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,IAAI,GAAG,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;oBAC5B,MAAM,IAAI,yBAAyB,CACjC,yDAAyD,GAAG,CAAC,MAAM,MAAM,UAAU,cAAc,MAAM,EAAE,CAC1G,CAAC;gBACJ,CAAC;gBAED,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC;gBACpB,KAAK,MAAM,EAAE,IAAI,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBACtD,IAAI,EAAE,CAAC,CAAC,GAAG,UAAU,EAAE,CAAC;wBACtB,MAAM,IAAI,yBAAyB,CACjC,iBAAiB,EAAE,CAAC,CAAC,yBAAyB,UAAU,cAAc,MAAM,EAAE,CAC/E,CAAC;oBACJ,CAAC;oBACD,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;wBACnB,MAAM,IAAI,yBAAyB,CAAC,wBAAwB,EAAE,CAAC,CAAC,+BAA+B,MAAM,EAAE,CAAC,CAAC;oBAC3G,CAAC;oBAED,IAAI,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;wBACrB,YAAY,EAAE,CAAC;wBACf,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;4BACrB,MAAM,IAAI,yBAAyB,CAAC,kDAAkD,MAAM,EAAE,CAAC,CAAC;wBAClG,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;oBACD,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;oBACvE,cAAc,EAAE,CAAC;oBACjB,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;wBAChF,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC;oBAC7B,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,IAAI,GAAG,IAAI,CAAC;gBACZ,OAAO;YACT,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,cAAc,WAAW,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;YAChF,MAAM,UAAU,CAAC,UAAU,CACzB;gBACE,GAAG,EAAE;oBACH,IAAI,EAAE,aAAa,CAAC,KAAK;oBACzB,IAAI,EAAE,SAAU;iBACjB;aACF,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE;gBACjC,CAAC,EAAE,SAAU,CAAC,CAAC;gBACf,EAAE,EAAE,OAAgB;gBACpB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAClC,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,WAAW;aACC,CAAC;YAC1B,MAAM,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEhF,WAAW,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;QACpC,CAAC,EACD;YACE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;SACnC,CACF,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,qBAAqB,CACjC,OAA4B,EAC5B,UAAkB,EAClB,aAA4B,EAC5B,aAAkC,EAClC,UAAmF,EACnF,OAA8D;QAE9D,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;QACxC,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,MAAM,OAAO,CAAC,eAAe,CAC3B,KAAK,IAAI,EAAE;YACT,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAC3B;gBACE,oEAAoE;gBACpE,+DAA+D;gBAC/D,4BAA4B;gBAC5B,GAAG,EAAE;oBACH,IAAI,EAAE,aAAa,CAAC,KAAK;oBACzB,IAAI,EAAE,aAAa;iBACpB;aACF,EACD;gBACE,OAAO;gBACP,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE;gBAChB,UAAU,EAAE;oBACV,GAAG,EAAE,CAAC;oBACN,MAAM,EAAE,CAAC;oBACT,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,CAAC;oBACR,SAAS,EAAE,CAAC;oBACZ,GAAG,EAAE,CAAC;iBACP;gBACD,KAAK,EAAE,CAAC;aACT,CACF,CAAC;YAEF,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,WAAW,GAAkB,IAAI,CAAC;YACtC,MAAM,iBAAiB,GAAoB,EAAE,CAAC;YAE9C,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;gBACvC,QAAQ,EAAE,CAAC;gBACX,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;oBACjB,MAAM,IAAI,yBAAyB,CAAC,6DAA6D,MAAM,EAAE,CAAC,CAAC;gBAC7G,CAAC;gBAED,MAAM,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;gBACnD,KAAK,MAAM,EAAE,IAAI,sBAAsB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;wBACvC,MAAM,IAAI,yBAAyB,CACjC,cAAc,EAAE,CAAC,EAAE,8CAA8C,MAAM,EAAE,CAC1E,CAAC;oBACJ,CAAC;oBAED,IAAI,EAAE,CAAC,CAAC,IAAI,UAAU,EAAE,CAAC;wBACvB,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC;4BACnB,MAAM,IAAI,yBAAyB,CACjC,wBAAwB,EAAE,CAAC,CAAC,+BAA+B,MAAM,EAAE,CACpE,CAAC;wBACJ,CAAC;wBACD,gBAAgB,GAAG,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBACvE,cAAc,EAAE,CAAC;wBACjB,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,CAAC;4BAChF,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC;wBAC7B,CAAC;oBACH,CAAC;yBAAM,IAAI,aAAa,EAAE,CAAC;wBACzB,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBAC7B,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,yBAAyB,CACjC,iBAAiB,EAAE,CAAC,CAAC,yBAAyB,UAAU,cAAc,MAAM,EAAE,CAC/E,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,cAAc,WAAW,UAAU,EAAE,CAAC,CAAC;YAC9E,MAAM,UAAU,CAAC,UAAU,CACzB;gBACE,GAAG,EAAE;oBACH,IAAI,EAAE,aAAa,CAAC,KAAK;oBACzB,IAAI,EAAE,aAAa;iBACpB;aACF,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;YAEF,MAAM,OAAO,GAAG;gBACd,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE;gBACjC,CAAC,EAAE,UAAU;gBACb,EAAE,EAAE,OAAgB;gBACpB,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAClC,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,WAAW;aACC,CAAC;YAC1B,MAAM,UAAU,CAAC,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEhF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,MAAM,aAAa,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAC5G,MAAM,UAAU,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,WAAW,GAAG,CAAC,cAAc,GAAG,CAAC,CAAC;QACpC,CAAC,EACD;YACE,YAAY,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;YAC/B,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE;SACnC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,23 @@
1
1
  import { Logger } from '@powersync/lib-services-framework';
2
2
  import { storage } from '@powersync/service-core';
3
3
  import { VersionedPowerSyncMongoV3 } from './VersionedPowerSyncMongoV3.js';
4
+ import { ObjectStorage } from './object-storage/ObjectStorage.js';
4
5
  export interface MongoStoppedSyncConfigCleanupOptions extends storage.CleanupStoppedSyncConfigsOptions {
5
6
  replicationStreamId: number;
6
7
  db: VersionedPowerSyncMongoV3;
7
8
  logger: Logger;
9
+ clearBatchThrottleRate: number;
10
+ objectStorage?: ObjectStorage;
8
11
  }
9
12
  export declare class MongoStoppedSyncConfigCleanup {
10
13
  private readonly db;
11
14
  private readonly replicationStreamId;
12
15
  private readonly signal;
13
16
  private readonly logger;
17
+ private readonly objectStorage;
14
18
  private readonly defaultSchema;
15
19
  private readonly sourceConnectionTag;
20
+ private readonly clearBatchThrottleRate;
16
21
  constructor(options: MongoStoppedSyncConfigCleanupOptions);
17
22
  run(): Promise<storage.CleanupStoppedSyncConfigsResult>;
18
23
  private loadSyncConfigDefinitions;
@@ -1,7 +1,8 @@
1
1
  import * as lib_mongo from '@powersync/lib-service-mongodb';
2
2
  import { ReplicationAbortedError } from '@powersync/lib-services-framework';
3
3
  import { SingleSyncConfigBucketDefinitionMapping, storage } from '@powersync/service-core';
4
- import { idPrefixFilter, retryOnMongoMaxTimeMSExpired } from '../../../utils/util.js';
4
+ import { clearCollectionInIdRanges, idPrefixFilter } from '../../../utils/util.js';
5
+ import { ObjectStorageLifecycle } from './object-storage/ObjectStorageLifecycle.js';
5
6
  const LIVE_STATES = new Set([
6
7
  storage.SyncRuleState.ACTIVE,
7
8
  storage.SyncRuleState.PROCESSING,
@@ -21,15 +22,19 @@ export class MongoStoppedSyncConfigCleanup {
21
22
  replicationStreamId;
22
23
  signal;
23
24
  logger;
25
+ objectStorage;
24
26
  defaultSchema;
25
27
  sourceConnectionTag;
28
+ clearBatchThrottleRate;
26
29
  constructor(options) {
27
30
  this.db = options.db;
28
31
  this.replicationStreamId = options.replicationStreamId;
29
32
  this.signal = options.signal;
30
33
  this.logger = options.logger;
34
+ this.objectStorage = options.objectStorage;
31
35
  this.defaultSchema = options.defaultSchema;
32
36
  this.sourceConnectionTag = options.sourceConnectionTag;
37
+ this.clearBatchThrottleRate = options.clearBatchThrottleRate;
33
38
  }
34
39
  async run() {
35
40
  this.throwIfAborted();
@@ -260,9 +265,13 @@ export class MongoStoppedSyncConfigCleanup {
260
265
  return { $or: clauses };
261
266
  }
262
267
  async dropBucketDataCollections(definitionIds) {
268
+ const lifecycle = this.objectStorage
269
+ ? new ObjectStorageLifecycle(this.db, this.replicationStreamId, this.objectStorage)
270
+ : null;
263
271
  for (const definitionId of definitionIds) {
264
272
  this.throwIfAborted();
265
273
  await this.dropCollection(this.db.bucketData(this.replicationStreamId, definitionId));
274
+ await lifecycle?.deletePrefix(lifecycle.definitionPrefix(definitionId), { signal: this.signal });
266
275
  }
267
276
  return definitionIds.length;
268
277
  }
@@ -281,17 +290,9 @@ export class MongoStoppedSyncConfigCleanup {
281
290
  let deletedCount = 0;
282
291
  for (const definitionId of definitionIds) {
283
292
  this.throwIfAborted();
284
- const result = await retryOnMongoMaxTimeMSExpired(() => collection.deleteMany({
293
+ deletedCount += await clearCollectionInIdRanges(this.logger, 'bucket state', collection, {
285
294
  _id: idPrefixFilter({ d: definitionId }, ['b'])
286
- }, { maxTimeMS: lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS }), {
287
- signal: this.signal,
288
- abortMessage: 'Aborted stopped sync config cleanup',
289
- retryDelayMs: lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS / 5,
290
- onRetry: () => {
291
- this.logger.info(`Cleared batch of bucket state in ${lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS}ms, continuing...`);
292
- }
293
- });
294
- deletedCount += result.deletedCount;
295
+ }, this.signal, this.clearBatchThrottleRate);
295
296
  }
296
297
  return deletedCount;
297
298
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MongoStoppedSyncConfigCleanup.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAU,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,uCAAuC,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAG3F,OAAO,EAAE,cAAc,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAWtF,MAAM,WAAW,GAAG,IAAI,GAAG,CAAwB;IACjD,OAAO,CAAC,aAAa,CAAC,MAAM;IAC5B,OAAO,CAAC,aAAa,CAAC,UAAU;IAChC,OAAO,CAAC,aAAa,CAAC,OAAO;CAC9B,CAAC,CAAC;AAEH,MAAM,YAAY,GAA4C;IAC5D,yBAAyB,EAAE,CAAC;IAC5B,4BAA4B,EAAE,CAAC;IAC/B,gCAAgC,EAAE,CAAC;IACnC,2BAA2B,EAAE,CAAC;IAC9B,8BAA8B,EAAE,CAAC;IACjC,mBAAmB,EAAE,CAAC;IACtB,mBAAmB,EAAE,CAAC;CACvB,CAAC;AAQF,MAAM,OAAO,6BAA6B;IACvB,EAAE,CAA4B;IAC9B,mBAAmB,CAAS;IAC5B,MAAM,CAA0B;IAChC,MAAM,CAAS;IACf,aAAa,CAAS;IACtB,mBAAmB,CAAS;IAE7C,YAAY,OAA6C;QACvD,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;QACvD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAC1C,EAAE,GAAG,EAAE,IAAI,CAAC,mBAAmB,EAAE,EACjC,EAAE,UAAU,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,EAAE,CACpC,CAAC;QACF,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QACtG,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,GAAG,YAAY,EAAE,CAAC;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,CAAC,GAAG,aAAa,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;QAC3F,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,iBAAiB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAClG,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAE5F,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,yBAAyB,GAAG,UAAU,CAC1C,iBAAiB,CAAC,mBAAmB,EACrC,cAAc,CAAC,mBAAmB,CACnC,CAAC;QACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAElH,MAAM,MAAM,GAA4C;YACtD,GAAG,YAAY;SAChB,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,CAAC,6BAA6B,CACtC,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,MAAM,CACP,CAAC;YACF,MAAM,CAAC,4BAA4B,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,yBAAyB,CAAC,CAAC;YACtG,MAAM,CAAC,2BAA2B,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,yBAAyB,CAAC,CAAC;YACtG,MAAM,CAAC,gCAAgC,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,uBAAuB,CAAC,CAAC;QAC9G,CAAC;QAED,4FAA4F;QAC5F,yFAAyF;QACzF,6FAA6F;QAC7F,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAEhE,MAAM,CAAC,yBAAyB,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,aAAa,CAAC,CAAC;QAE1F,IAAI,MAAM,CAAC,yBAAyB,GAAG,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,cAAc,MAAM,CAAC,yBAAyB,uBAAuB,MAAM,CAAC,yBAAyB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,EACvH,MAAM,CACP,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,MAAyB;QAC/D,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/F,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7E,CAAC;IAEO,aAAa,CAAC,OAAqD;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACtC,uCAAuC,CAAC,oBAAoB,CAAC,MAAM,CAAC,YAAY,CAAC,CAClF,CAAC;QACF,OAAO;YACL,mBAAmB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC;YAClG,iBAAiB,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;SAC/F,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,6BAA6B,CACzC,yBAA+C,EAC/C,uBAA2C,EAC3C,cAAsC,EACtC,MAA+C;QAE/C,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,sBAAsB,GAAG,EAAE,GAAG,EAAE,yBAAyB,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,2BAA2B,GAAG,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC;QACxE,CAAC;QAED,wFAAwF;QACxF,yFAAyF;QACzF,wFAAwF;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,CAAC,yBAAyB,EAAE,uBAAuB,CAAC,CAAC;QACpG,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,MAAM,EAAE;YACZ,UAAU,EAAE;gBACV,GAAG,EAAE,CAAC;gBACN,sBAAsB,EAAE,CAAC;gBACzB,2BAA2B,EAAE,CAAC;gBAC9B,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;aACd;SACF,CAAC;aACD,OAAO,EAAE,CAAC;QACb,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QACD,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAE9D,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CACxD,CAAC,WAAW,EAAE,EAAE,CACd,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,yBAAyB,EAAE,uBAAuB,CAAC;YAC5F,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CACxD,CAAC;QACF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CACvD,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CACnG,CAAC;QACF,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE1F,MAAM,IAAI,CAAC,kBAAkB,CAC3B,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,yBAAyB,EAAE,uBAAuB,CAAC,EACjG,MAAM,CACP,CAAC;QAEF,4FAA4F;QAC5F,8FAA8F;QAC9F,8FAA8F;QAC9F,8FAA8F;QAC9F,6FAA6F;QAC7F,yDAAyD;QACzD,MAAM,+BAA+B,GAAG,oBAAoB;aACzD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtB,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,yBAAyB,EAAE,uBAAuB,CAAC,CAC7F;aACA,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,KAAK,MAAM,aAAa,IAAI,+BAA+B,EAAE,CAAC;YAC5D,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;YAC1F,MAAM,CAAC,8BAA8B,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,UAAU,CAClF,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,EAAE,EACxC;gBACE,KAAK,EAAE,MAAM;aACd,EACD,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAC7D,CAAC;YACF,MAAM,CAAC,mBAAmB,IAAI,YAAY,CAAC,aAAa,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,4BAA4B,CACxC,cAAsC,EACtC,MAA+C;QAE/C,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAC,EAAE;aACxC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE;YACvC,UAAU,EAAE;gBACV,GAAG,EAAE,CAAC;gBACN,sBAAsB,EAAE,CAAC;gBACzB,2BAA2B,EAAE,CAAC;gBAC9B,WAAW,EAAE,CAAC;gBACd,UAAU,EAAE,CAAC;aACd;SACF,CAAC;aACD,OAAO,EAAE,CAAC;QACb,IAAI,qBAAqB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC9D,MAAM,uBAAuB,GAAG,qBAAqB;aAClD,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;aAC9E,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC9G,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,kBAAkB,CAC9B,uBAAwC,EACxC,aAAgE,EAChE,MAA+C;QAE/C,IAAI,uBAAuB,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QACD,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,EAAE;aACvC,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;aACtC,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;aACxE,OAAO,EAAE,CAAC;QAEb,KAAK,MAAM,WAAW,IAAI,oBAAoB,EAAE,CAAC;YAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5F,MAAM,CAAC,8BAA8B,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,EAAE;iBAC/B,YAAY,CAAC,IAAI,CAAC,mBAAmB,CAAC;iBACtC,UAAU,CAAC,aAAa,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE;gBACzE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC;aACzD,CAAC,CAAC;YACL,MAAM,CAAC,mBAAmB,IAAI,YAAY,CAAC,YAAY,CAAC;QAC1D,CAAC;IACH,CAAC;IAEO,sBAAsB,CAC5B,WAAkG,EAClG,yBAA+C,EAC/C,uBAA2C;QAE3C,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvE,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACnE,OAAO,CACL,WAAW,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,2BAA2B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrF,WAAW,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,yBAAyB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CACzF,CAAC;IACJ,CAAC;IAEO,0BAA0B,CAChC,GAAoB,EACpB,yBAA+C,EAC/C,uBAA2C;QAE3C,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACjB,sBAAsB,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE;YACrF,2BAA2B,EAAE,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,EAAE,EAAE;SACzF,CAAC;IACJ,CAAC;IAEO,0BAA0B;QAChC,OAAO;YACL,sBAAsB,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;YACpC,2BAA2B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE;SAC1C,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAAC,GAAoB;QACnD,OAAO;YACL,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACjB,GAAG,IAAI,CAAC,0BAA0B,EAAE;SACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,UAAkC;QACzD,iEAAiE;QACjE,sCAAsC;QACtC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,OAAO,OAAO,CAAC,+BAA+B,CAAC;gBAC7C,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,eAAe,IAAI,IAAI;gBAC5C,cAAc,EAAE,MAAM,CAAC,eAAe;gBACtC,YAAY,EAAE;oBACZ,aAAa,EAAE,IAAI,CAAC,aAAa;iBAClC;aACF,CAAC,CAAC,MAAM,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iBAAiB,CAAC,WAAkC,EAAE,eAA6B;QACzF,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CACzC,UAAU,CAAC,kBAAkB,CAAC;YAC5B,aAAa,EAAE,IAAI,CAAC,mBAAmB;YACvC,MAAM,EAAE,WAAW,CAAC,WAAW;YAC/B,IAAI,EAAE,WAAW,CAAC,UAAU;SAC7B,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,2BAA2B,CACjC,mBAAyC,EACzC,iBAAqC;QAErC,MAAM,OAAO,GAA8B,EAAE,CAAC;QAC9C,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,EAAE,sBAAsB,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CAAC,EAAE,2BAA2B,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,yBAAyB,CAAC,aAAmC;QACzE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;QACxF,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,0BAA0B,CAAC,aAAmC;QAC1E,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACjE,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAC/C,GAAG,EAAE,CACH,UAAU,CAAC,UAAU,CACnB;gBACE,GAAG,EAAE,cAAc,CAA+B,EAAE,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;aAC9E,EACD,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAC7D,EACH;gBACE,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,YAAY,EAAE,qCAAqC;gBACnD,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,GAAG,CAAC;gBAC/D,OAAO,EAAE,GAAG,EAAE;oBACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,oCAAoC,SAAS,CAAC,EAAE,CAAC,gCAAgC,mBAAmB,CACrG,CAAC;gBACJ,CAAC;aACF,CACF,CAAC;YACF,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC;QACtC,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,6BAA6B,CAAC,QAA4B;QACtE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;QACvF,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,UAAyC;QAEzC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC,gCAAgC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YAClG,IAAI,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,mBAAmB,EAAE,CAAC;gBAClF,OAAO;YACT,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,aAAgC;QACzE,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAC/C;YACE,GAAG,EAAE,IAAI,CAAC,mBAAmB;YAC7B,YAAY,EAAE;gBACZ,IAAI,EAAE;oBACJ,UAAU,EAAE;wBACV,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;wBACxB,KAAK,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE;qBAC3C;iBACF;aACF;SACF,EACD;YACE,KAAK,EAAE;gBACL,YAAY,EAAE;oBACZ,GAAG,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE;oBACxB,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI;iBAClC;aACF;SACe,CACnB,CAAC;QACF,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;YACzB,MAAM,IAAI,uBAAuB,CAAC,qCAAqC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;CACF;AAED,SAAS,UAAU,CAAI,IAAS,EAAE,KAAU;IAC1C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"MongoStoppedSyncConfigCleanup.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoStoppedSyncConfigCleanup.ts"],"names":[],"mappings":"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"}
@@ -9,11 +9,13 @@ import { MongoParameterCompactor } from '../MongoParameterCompactor.js';
9
9
  import { MongoPersistedReplicationStream } from '../MongoPersistedReplicationStream.js';
10
10
  import { MongoSyncBucketStorage, MongoSyncBucketStorageOptions } from '../MongoSyncBucketStorage.js';
11
11
  import { MongoChecksumsV3 } from './MongoChecksumsV3.js';
12
+ import { ObjectStorage } from './object-storage/ObjectStorage.js';
12
13
  import { VersionedPowerSyncMongoV3 } from './VersionedPowerSyncMongoV3.js';
13
14
  export interface MongoSyncBucketStorageContextV3 {
14
15
  db: VersionedPowerSyncMongoV3;
15
16
  replicationStreamId: number;
16
17
  readPreference?: mongo.ReadPreference;
18
+ objectStorage: ObjectStorage | undefined;
17
19
  /**
18
20
  * Persisted mapping of the single sync config that read operations are served from.
19
21
  *
@@ -60,8 +62,8 @@ export declare class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
60
62
  private singleSyncConfigMapping;
61
63
  protected get versionContext(): MongoSyncBucketStorageContextV3;
62
64
  protected getParameterSetsImpl(checkpoint: MongoSyncBucketStorageCheckpoint, lookups: ScopedParameterLookup[], limit: number): Promise<ParameterLookupRows[]>;
63
- protected getBucketDataBatchImpl(checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk>;
64
- protected clearBucketData(_signal?: AbortSignal): Promise<void>;
65
+ protected getBucketDataBatchImpl(checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>;
66
+ protected clearBucketData(signal?: AbortSignal): Promise<void>;
65
67
  protected clearParameterIndexes(_signal?: AbortSignal): Promise<void>;
66
68
  protected clearSourceRecords(_signal?: AbortSignal): Promise<void>;
67
69
  protected clearBucketState(_signal?: AbortSignal): Promise<void>;
@@ -71,6 +73,6 @@ export declare class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
71
73
  protected getParameterBucketChangesImpl(options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedParameterLookups' | 'invalidateParameterBuckets'>>;
72
74
  }
73
75
  export declare function getParameterSetsV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, lookups: ScopedParameterLookup[], limit: number): Promise<ParameterLookupRows[]>;
74
- export declare function getBucketDataBatchV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk>;
76
+ export declare function getBucketDataBatchV3(ctx: MongoSyncBucketStorageContextV3, checkpoint: MongoSyncBucketStorageCheckpoint, dataBuckets: storage.BucketDataRequest[], options?: storage.BucketDataBatchOptions): AsyncIterable<storage.SyncBucketDataChunk | storage.SyncBucketDataBatchEnd>;
75
77
  export declare function getDataBucketChangesV3(ctx: MongoSyncBucketStorageContextV3, options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedDataBuckets' | 'invalidateDataBuckets'>>;
76
78
  export declare function getParameterBucketChangesV3(ctx: MongoSyncBucketStorageContextV3, options: GetCheckpointChangesOptions): Promise<Pick<CheckpointChanges, 'updatedParameterLookups' | 'invalidateParameterBuckets'>>;
@@ -6,41 +6,50 @@ import * as bson from 'bson';
6
6
  import { mapOpEntry, readSingleBatch, setSessionSnapshotTime } from '../../../utils/util.js';
7
7
  import { MongoParameterCompactor } from '../MongoParameterCompactor.js';
8
8
  import { MongoSyncBucketStorage } from '../MongoSyncBucketStorage.js';
9
- import { loadBucketDataDocument } from './bucket-format.js';
9
+ import { loadBucketDataDocument, maxOpId } from './bucket-format.js';
10
10
  import { deserializeParameterLookup, serializeParameterLookup } from './models.js';
11
11
  import { MongoBucketBatchV3 } from './MongoBucketBatchV3.js';
12
12
  import { MongoChecksumsV3 } from './MongoChecksumsV3.js';
13
13
  import { MongoCompactorV3 } from './MongoCompactorV3.js';
14
14
  import { MongoStoppedSyncConfigCleanup } from './MongoStoppedSyncConfigCleanup.js';
15
- function* walkDocumentOps(data, documentOpCounts, documentSizes) {
16
- let opIndex = 0;
17
- for (const [docIndex, opCount] of documentOpCounts.entries()) {
18
- for (let i = 0; i < opCount; i++) {
19
- yield { row: data[opIndex++], docIndex, isLastOpInDocument: i === opCount - 1 };
15
+ import { hydrateBucketDataDocuments } from './object-storage/BucketDataObjectStorage.js';
16
+ import { ObjectStorageLifecycle } from './object-storage/ObjectStorageLifecycle.js';
17
+ const BUCKET_DATA_FETCH_BATCH_LIMIT_BYTES = 16 * 1024 * 1024;
18
+ /**
19
+ * Keep the documents hydrated for one sync response within a bounded payload or slightly higher.
20
+ *
21
+ * This deserializes on-demand, so no deserialization is performed for discarded data.
22
+ */
23
+ function cutBucketDataBatch(rawDocuments) {
24
+ let cumulativeBytes = 0;
25
+ let documents = [];
26
+ for (const raw of rawDocuments) {
27
+ const doc = bson.deserialize(raw, storage.BSON_DESERIALIZE_INTERNAL_OPTIONS);
28
+ documents.push(doc);
29
+ cumulativeBytes += doc.size;
30
+ if (cumulativeBytes > BUCKET_DATA_FETCH_BATCH_LIMIT_BYTES) {
31
+ return {
32
+ documents,
33
+ wasCut: documents.length < rawDocuments.length
34
+ };
20
35
  }
21
36
  }
37
+ return { documents, wasCut: false };
22
38
  }
23
- function extractRowsFromDocument(doc, context, bucketMap, endOpId, remainingLimit) {
39
+ function extractRowsFromDocument(doc, context, bucketStart, endOpId) {
24
40
  const rows = [];
25
41
  for (const row of loadBucketDataDocument(context, doc)) {
26
- const bucket = row.bucketKey.bucket;
27
- const bucketStart = bucketMap.get(bucket);
28
- if (bucketStart == null) {
29
- throw new Error(`data for unexpected bucket: ${bucket}`);
30
- }
42
+ // In theory a binary search could be faster than a linear scan to find the start.
43
+ // In practice, most cases should not filter out anything here.
31
44
  if (row.o <= bucketStart) {
32
45
  continue;
33
46
  }
34
47
  if (row.o > endOpId) {
35
- continue;
48
+ break;
36
49
  }
37
50
  rows.push(row);
38
- remainingLimit--;
39
- if (remainingLimit <= 0) {
40
- return { rows, remainingLimit, limitReached: true };
41
- }
42
51
  }
43
- return { rows, remainingLimit, limitReached: false };
52
+ return rows;
44
53
  }
45
54
  export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
46
55
  constructor(factory, replicationStreamId, replicationStream, replicationStreamName, writeCheckpointMode, options) {
@@ -220,6 +229,7 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
220
229
  const self = this;
221
230
  return {
222
231
  db: this.db,
232
+ objectStorage: this.objectStorage,
223
233
  replicationStreamId: this.replicationStreamId,
224
234
  readPreference: this.readPreference,
225
235
  get mapping() {
@@ -233,10 +243,23 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
233
243
  getBucketDataBatchImpl(checkpoint, dataBuckets, options) {
234
244
  return getBucketDataBatchV3(this.versionContext, checkpoint, dataBuckets, options);
235
245
  }
236
- async clearBucketData(_signal) {
246
+ async clearBucketData(signal) {
237
247
  for (const collection of await this.db.listBucketDataCollections(this.replicationStreamId)) {
238
248
  await collection.drop();
239
249
  }
250
+ if (this.objectStorage) {
251
+ const lifecycle = new ObjectStorageLifecycle(this.db, this.replicationStreamId, this.objectStorage);
252
+ await lifecycle.deletePrefix(lifecycle.streamPrefix(), { signal });
253
+ }
254
+ await this.db
255
+ .pendingObjectStorageDeletes(this.replicationStreamId)
256
+ .drop({ maxTimeMS: lib_mongo.db.MONGO_CLEAR_OPERATION_TIMEOUT_MS })
257
+ .catch((error) => {
258
+ if (lib_mongo.isMongoServerError(error) && error.codeName === 'NamespaceNotFound') {
259
+ return;
260
+ }
261
+ throw error;
262
+ });
240
263
  }
241
264
  async clearParameterIndexes(_signal) {
242
265
  for (const collection of await this.db.listParameterIndexCollections(this.replicationStreamId)) {
@@ -277,7 +300,9 @@ export class MongoSyncBucketStorageV3 extends MongoSyncBucketStorage {
277
300
  signal: options.signal,
278
301
  logger: options.logger ?? this.logger,
279
302
  defaultSchema: options.defaultSchema,
280
- sourceConnectionTag: options.sourceConnectionTag
303
+ sourceConnectionTag: options.sourceConnectionTag,
304
+ objectStorage: this.objectStorage,
305
+ clearBatchThrottleRate: this.clearBatchThrottleRate
281
306
  }).run();
282
307
  }
283
308
  getDataBucketChangesImpl(options) {
@@ -382,11 +407,13 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
382
407
  await using _ = { [Symbol.asyncDispose]: async () => session?.endSession() };
383
408
  if (session != null) {
384
409
  session.advanceOperationTime(checkpoint.snapshotTime);
410
+ session.advanceClusterTime(checkpoint.clusterTime);
385
411
  }
386
412
  const batchLimit = options?.limit ?? storage.DEFAULT_DOCUMENT_BATCH_LIMIT;
387
413
  const chunkSizeLimitBytes = options?.chunkLimitBytes ?? storage.DEFAULT_DOCUMENT_CHUNK_LIMIT_BYTES;
388
414
  const end = checkpoint.checkpoint;
389
- let remainingLimit = batchLimit;
415
+ // Group requests by definition, so that we can query each definition's bucket data in a single query.
416
+ // We only return the results of a single query per batch.
390
417
  const requestsByDefinition = new Map();
391
418
  for (const request of dataBuckets) {
392
419
  const definitionId = ctx.mapping.bucketSourceId(request.source);
@@ -396,9 +423,6 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
396
423
  }
397
424
  const definitionGroups = Array.from(requestsByDefinition.entries());
398
425
  for (const [groupIndex, [definitionId, requests]] of definitionGroups.entries()) {
399
- if (remainingLimit <= 0) {
400
- break;
401
- }
402
426
  const hasLaterDefinitionGroups = groupIndex < definitionGroups.length - 1;
403
427
  const bucketMap = new Map(requests.map((request) => [request.bucket, request.start]));
404
428
  const filters = Array.from(bucketMap.entries()).map(([bucket, start]) => ({
@@ -413,8 +437,7 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
413
437
  // MongoDB Filter<T> doesn't accept the $or operator in its type.
414
438
  const filter = { $or: filters };
415
439
  const context = { replicationStreamId: ctx.replicationStreamId, definitionId };
416
- const limit = remainingLimit;
417
- const cursorOptions = { limit: remainingLimit, batchSize: remainingLimit + 1 };
440
+ const cursorOptions = { limit: batchLimit, batchSize: batchLimit + 1 };
418
441
  // raw: true returns Buffers, but the driver typing doesn't reflect that
419
442
  // without an explicit cast to FindCursor<Buffer>.
420
443
  const cursor = collection.find(filter, {
@@ -429,75 +452,37 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
429
452
  let { data: rawData, hasMore } = await readSingleBatch(cursor).catch((e) => {
430
453
  throw lib_mongo.mapQueryError(e, 'while reading bucket data');
431
454
  });
432
- if (cursorOptions.limit != null && rawData.length >= cursorOptions.limit) {
455
+ if (rawData.length >= cursorOptions.limit) {
433
456
  hasMore = true;
434
457
  }
435
- const data = [];
436
- const documentOpCounts = [];
437
- const documentSizes = [];
438
- let sharedRemainingLimit = limit;
439
- let limitReached = false;
440
- // Buckets whose matched document contributed no rows after filtering.
441
- const completeEmptyBuckets = new Set();
442
- for (const raw of rawData) {
443
- const doc = bson.deserialize(raw, storage.BSON_DESERIALIZE_INTERNAL_OPTIONS);
444
- const { rows, remainingLimit, limitReached: docLimitReached } = extractRowsFromDocument(doc, context, bucketMap, end, sharedRemainingLimit);
445
- if (rows.length == 0) {
446
- // The document straddles the requested (start, end] window: it matched the
447
- // query, but none of its ops are in range. Since its _id.o (max op) must be
448
- // > end (any op <= end would have been > start, and thus in range), and
449
- // document ranges per bucket are disjoint, no later document for this bucket
450
- // can match either. The bucket is complete through the checkpoint.
451
- completeEmptyBuckets.add(doc._id.b);
452
- }
453
- data.push(...rows);
454
- documentOpCounts.push(rows.length);
455
- documentSizes.push(raw.byteLength);
456
- sharedRemainingLimit = remainingLimit;
457
- if (docLimitReached) {
458
- limitReached = true;
459
- break;
460
- }
461
- }
462
- const batchHasMore = hasMore || limitReached;
463
- // Empty chunks are not forwarded to clients, but report progress to the caller:
464
- // the bucket's position advances to the checkpoint, so it is not re-requested.
465
- // If the batch produced no data at all, the last empty chunk also carries the
466
- // has_more signal, so the caller re-requests the remaining buckets instead of
467
- // treating an all-filtered batch as the end of the stream.
468
- const emptyBuckets = Array.from(completeEmptyBuckets);
469
- for (const [index, bucket] of emptyBuckets.entries()) {
470
- const startOpId = bucketMap.get(bucket);
471
- if (startOpId == null) {
472
- throw new ServiceAssertionError(`data for unexpected bucket: ${bucket}`);
473
- }
474
- const isLastChunkOfBatch = data.length == 0 && index == emptyBuckets.length - 1;
475
- yield {
476
- chunkData: {
477
- bucket,
478
- after: internalToExternalOpId(startOpId),
479
- has_more: isLastChunkOfBatch && batchHasMore,
480
- data: [],
481
- next_after: internalToExternalOpId(end)
482
- },
483
- targetOp: null
484
- };
485
- }
486
- if (data.length == 0) {
487
- if (batchHasMore) {
488
- // The remaining documents are read in the next round, after the caller has
489
- // advanced the positions of the empty buckets above.
490
- return;
491
- }
492
- continue;
458
+ // Deserialize the raw documents and cut the batch to a bounded size. Any data not
459
+ // making the cut will be read in the next round, using a fresh query.
460
+ const cutBatch = cutBucketDataBatch(rawData);
461
+ const docs = cutBatch.documents;
462
+ if (cutBatch.wasCut) {
463
+ hasMore = true;
493
464
  }
494
- remainingLimit -= data.length;
465
+ // Hydrate any operations from object storage.
466
+ // In the future we can do this in a more pipelined fashion, but for now we hydrate
467
+ // the entire batch at once.
468
+ await hydrateBucketDataDocuments(docs, ctx.objectStorage, { signal: options?.signal });
495
469
  let currentChunkSizeBytes = 0;
496
470
  let currentChunk = null;
497
471
  let targetOp = null;
498
- for (const { row, docIndex, isLastOpInDocument } of walkDocumentOps(data, documentOpCounts, documentSizes)) {
499
- const bucket = row.bucketKey.bucket;
500
- if (currentChunk == null || currentChunk.bucket != bucket || currentChunkSizeBytes >= chunkSizeLimitBytes) {
472
+ let seenBuckets = new Set();
473
+ const batchHasMore = hasMore;
474
+ for (const doc of docs) {
475
+ const bucket = doc._id.b;
476
+ seenBuckets.add(bucket);
477
+ const bucketStart = bucketMap.get(bucket);
478
+ if (bucketStart == null) {
479
+ throw new ServiceAssertionError(`data for unexpected bucket: ${bucket}`);
480
+ }
481
+ // Reached a new bucket or size limit: yield the current chunk and start a new one.
482
+ if (currentChunk == null ||
483
+ currentChunk.bucket != bucket ||
484
+ currentChunkSizeBytes >= chunkSizeLimitBytes ||
485
+ currentChunk.data.length >= batchLimit) {
501
486
  let start = undefined;
502
487
  if (currentChunk != null) {
503
488
  if (currentChunk.bucket == bucket) {
@@ -511,11 +496,7 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
511
496
  targetOp = null;
512
497
  }
513
498
  if (start == null) {
514
- const startOpId = bucketMap.get(bucket);
515
- if (startOpId == null) {
516
- throw new Error(`data for unexpected bucket: ${bucket}`);
517
- }
518
- start = internalToExternalOpId(startOpId);
499
+ start = internalToExternalOpId(bucketStart);
519
500
  }
520
501
  currentChunk = {
521
502
  bucket,
@@ -525,23 +506,45 @@ export async function* getBucketDataBatchV3(ctx, checkpoint, dataBuckets, option
525
506
  next_after: start
526
507
  };
527
508
  }
528
- const entry = mapOpEntry(row);
529
- if (row.target_op != null && (targetOp == null || row.target_op > targetOp)) {
530
- targetOp = row.target_op;
531
- }
532
- currentChunk.data.push(entry);
533
- currentChunk.next_after = entry.op_id;
534
- if (isLastOpInDocument) {
535
- currentChunkSizeBytes += documentSizes[docIndex];
536
- }
509
+ const rows = extractRowsFromDocument(doc, context, bucketStart, end);
510
+ currentChunk.data.push(...rows.map(mapOpEntry));
511
+ currentChunk.next_after = currentChunk.data.at(-1)?.op_id ?? internalToExternalOpId(end);
512
+ targetOp = maxOpId(targetOp, doc.target_op);
513
+ currentChunkSizeBytes += doc.size;
537
514
  }
538
515
  if (currentChunk != null) {
539
516
  const yieldChunk = currentChunk;
540
- yieldChunk.has_more = batchHasMore || (remainingLimit <= 0 && hasLaterDefinitionGroups);
517
+ // The last chunk may contain more data that was cut in this batch.
518
+ yieldChunk.has_more = batchHasMore;
541
519
  yield { chunkData: yieldChunk, targetOp };
542
520
  }
543
- if (batchHasMore || remainingLimit <= 0) {
544
- return;
521
+ if (!batchHasMore) {
522
+ for (const bucket of bucketMap.keys()) {
523
+ if (!seenBuckets.has(bucket)) {
524
+ // We processed everything for this definition group, but this bucket had no data in the batch.
525
+ // Yield an empty chunk to indicate that it is complete.
526
+ // This prevents re-querying the same bucket in the next batch.
527
+ yield {
528
+ chunkData: {
529
+ bucket,
530
+ after: internalToExternalOpId(bucketMap.get(bucket)),
531
+ has_more: false,
532
+ data: [],
533
+ next_after: internalToExternalOpId(end)
534
+ },
535
+ targetOp
536
+ };
537
+ }
538
+ }
539
+ }
540
+ if (currentChunk != null) {
541
+ // We yielded data in this group (aside from empty buckets).
542
+ // Return to the caller to allow them to process it before continuing to the next group.
543
+ yield { hasMore: batchHasMore || hasLaterDefinitionGroups };
544
+ break;
545
+ }
546
+ else {
547
+ // No data in this definition group - continue in the next group.
545
548
  }
546
549
  }
547
550
  }