@rocicorp/zero 1.12.0-canary.6 → 1.12.0-canary.8
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/out/zero/package.js +10 -10
- package/out/zero/package.js.map +1 -1
- package/out/zero-cache/src/auth/write-authorizer.js +9 -2
- package/out/zero-cache/src/auth/write-authorizer.js.map +1 -1
- package/out/zero-cache/src/server/change-streamer.js +1 -0
- package/out/zero-cache/src/server/change-streamer.js.map +1 -1
- package/out/zero-cache/src/services/change-source/common/replica-restore.js.map +1 -1
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js +17 -9
- package/out/zero-cache/src/services/change-source/pg/change-source-init.js.map +1 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.js +1 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/mutagen.js +1 -2
- package/out/zero-cache/src/services/mutagen/mutagen.js.map +1 -1
- package/out/zero-cache/src/services/mutagen/pusher.js +57 -14
- package/out/zero-cache/src/services/mutagen/pusher.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js +1 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +22 -2
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-cache/src/workers/syncer.js +9 -1
- package/out/zero-cache/src/workers/syncer.js.map +1 -1
- package/out/zero-client/src/client/version.js +1 -1
- package/out/zero-protocol/src/inspect-down.d.ts +81 -81
- package/out/zero-protocol/src/up.d.ts +60 -60
- package/package.json +10 -10
- package/out/shared/src/cache.d.ts +0 -22
- package/out/shared/src/cache.d.ts.map +0 -1
- package/out/shared/src/custom-key-map.d.ts +0 -26
- package/out/shared/src/custom-key-map.d.ts.map +0 -1
- package/out/shared/src/custom-key-set.d.ts +0 -25
- package/out/shared/src/custom-key-set.d.ts.map +0 -1
- package/out/shared/src/logging-test-utils.d.ts +0 -12
- package/out/shared/src/logging-test-utils.d.ts.map +0 -1
- package/out/shared/src/queue.d.ts +0 -53
- package/out/shared/src/queue.d.ts.map +0 -1
- package/out/shared/src/ring-buffer.d.ts +0 -42
- package/out/shared/src/ring-buffer.d.ts.map +0 -1
- package/out/shared/src/sorted-entries.d.ts +0 -2
- package/out/shared/src/sorted-entries.d.ts.map +0 -1
- package/out/zero/src/server/change-streamer.d.ts +0 -2
- package/out/zero/src/server/change-streamer.d.ts.map +0 -1
- package/out/zero/src/server/main.d.ts +0 -2
- package/out/zero/src/server/main.d.ts.map +0 -1
- package/out/zero/src/server/reaper.d.ts +0 -2
- package/out/zero/src/server/reaper.d.ts.map +0 -1
- package/out/zero/src/server/replicator.d.ts +0 -2
- package/out/zero/src/server/replicator.d.ts.map +0 -1
- package/out/zero/src/server/syncer.d.ts +0 -2
- package/out/zero/src/server/syncer.d.ts.map +0 -1
- package/out/zero-cache/src/auth/jwt.d.ts +0 -12
- package/out/zero-cache/src/auth/jwt.d.ts.map +0 -1
- package/out/zero-cache/src/auth/load-permissions.d.ts +0 -17
- package/out/zero-cache/src/auth/load-permissions.d.ts.map +0 -1
- package/out/zero-cache/src/auth/write-authorizer.d.ts +0 -28
- package/out/zero-cache/src/auth/write-authorizer.d.ts.map +0 -1
- package/out/zero-cache/src/config/server-context.d.ts +0 -16
- package/out/zero-cache/src/config/server-context.d.ts.map +0 -1
- package/out/zero-cache/src/custom/fetch.d.ts +0 -38
- package/out/zero-cache/src/custom/fetch.d.ts.map +0 -1
- package/out/zero-cache/src/custom/metrics.d.ts +0 -31
- package/out/zero-cache/src/custom/metrics.d.ts.map +0 -1
- package/out/zero-cache/src/custom-queries/transform-query.d.ts +0 -68
- package/out/zero-cache/src/custom-queries/transform-query.d.ts.map +0 -1
- package/out/zero-cache/src/db/create.d.ts +0 -12
- package/out/zero-cache/src/db/create.d.ts.map +0 -1
- package/out/zero-cache/src/db/delete-lite-db.d.ts +0 -2
- package/out/zero-cache/src/db/delete-lite-db.d.ts.map +0 -1
- package/out/zero-cache/src/db/index-predicate.d.ts +0 -4
- package/out/zero-cache/src/db/index-predicate.d.ts.map +0 -1
- package/out/zero-cache/src/db/migration-lite.d.ts +0 -78
- package/out/zero-cache/src/db/migration-lite.d.ts.map +0 -1
- package/out/zero-cache/src/db/migration.d.ts +0 -80
- package/out/zero-cache/src/db/migration.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-copy-binary.d.ts +0 -101
- package/out/zero-cache/src/db/pg-copy-binary.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-copy.d.ts +0 -30
- package/out/zero-cache/src/db/pg-copy.d.ts.map +0 -1
- package/out/zero-cache/src/db/pg-type-parser.d.ts +0 -15
- package/out/zero-cache/src/db/pg-type-parser.d.ts.map +0 -1
- package/out/zero-cache/src/db/transaction-pool.d.ts +0 -205
- package/out/zero-cache/src/db/transaction-pool.d.ts.map +0 -1
- package/out/zero-cache/src/db/warmup.d.ts +0 -4
- package/out/zero-cache/src/db/warmup.d.ts.map +0 -1
- package/out/zero-cache/src/observability/events.d.ts +0 -15
- package/out/zero-cache/src/observability/events.d.ts.map +0 -1
- package/out/zero-cache/src/observability/log-throttle.d.ts +0 -44
- package/out/zero-cache/src/observability/log-throttle.d.ts.map +0 -1
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts +0 -21
- package/out/zero-cache/src/server/anonymous-otel-start.d.ts.map +0 -1
- package/out/zero-cache/src/server/change-streamer.d.ts +0 -3
- package/out/zero-cache/src/server/change-streamer.d.ts.map +0 -1
- package/out/zero-cache/src/server/inspector-delegate.d.ts +0 -71
- package/out/zero-cache/src/server/inspector-delegate.d.ts.map +0 -1
- package/out/zero-cache/src/server/main.d.ts +0 -3
- package/out/zero-cache/src/server/main.d.ts.map +0 -1
- package/out/zero-cache/src/server/otel-diag-logger.d.ts +0 -16
- package/out/zero-cache/src/server/otel-diag-logger.d.ts.map +0 -1
- package/out/zero-cache/src/server/otel-start.d.ts +0 -3
- package/out/zero-cache/src/server/otel-start.d.ts.map +0 -1
- package/out/zero-cache/src/server/priority-op.d.ts +0 -8
- package/out/zero-cache/src/server/priority-op.d.ts.map +0 -1
- package/out/zero-cache/src/server/reaper.d.ts +0 -3
- package/out/zero-cache/src/server/reaper.d.ts.map +0 -1
- package/out/zero-cache/src/server/replicator.d.ts +0 -10
- package/out/zero-cache/src/server/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/server/slot-keeper.d.ts +0 -26
- package/out/zero-cache/src/server/slot-keeper.d.ts.map +0 -1
- package/out/zero-cache/src/server/syncer-assigner.d.ts +0 -14
- package/out/zero-cache/src/server/syncer-assigner.d.ts.map +0 -1
- package/out/zero-cache/src/server/syncer.d.ts +0 -3
- package/out/zero-cache/src/server/syncer.d.ts.map +0 -1
- package/out/zero-cache/src/server/worker-dispatcher.d.ts +0 -17
- package/out/zero-cache/src/server/worker-dispatcher.d.ts.map +0 -1
- package/out/zero-cache/src/services/analyze.d.ts +0 -9
- package/out/zero-cache/src/services/analyze.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/change-source.d.ts +0 -39
- package/out/zero-cache/src/services/change-source/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts +0 -57
- package/out/zero-cache/src/services/change-source/common/backfill-manager.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts +0 -55
- package/out/zero-cache/src/services/change-source/common/change-stream-multiplexer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts +0 -24
- package/out/zero-cache/src/services/change-source/common/init-cleanup.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts +0 -140
- package/out/zero-cache/src/services/change-source/common/replica-restore.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts +0 -14
- package/out/zero-cache/src/services/change-source/common/replica-schema.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts +0 -25
- package/out/zero-cache/src/services/change-source/custom/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts +0 -14
- package/out/zero-cache/src/services/change-source/pg/backfill-metadata.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts +0 -36
- package/out/zero-cache/src/services/change-source/pg/backfill-stream.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts +0 -72
- package/out/zero-cache/src/services/change-source/pg/change-source-init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts +0 -127
- package/out/zero-cache/src/services/change-source/pg/change-source.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/fork-request.d.ts +0 -57
- package/out/zero-cache/src/services/change-source/pg/fork-request.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts +0 -155
- package/out/zero-cache/src/services/change-source/pg/initial-sync.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts +0 -17
- package/out/zero-cache/src/services/change-source/pg/logical-replication/binary-reader.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts +0 -28
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput-parser.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts +0 -76
- package/out/zero-cache/src/services/change-source/pg/logical-replication/pgoutput.types.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts +0 -169
- package/out/zero-cache/src/services/change-source/pg/logical-replication/stream.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts +0 -16
- package/out/zero-cache/src/services/change-source/pg/replication-slot-cleanup-monitor.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts +0 -15
- package/out/zero-cache/src/services/change-source/pg/replication-slot-health.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts +0 -127
- package/out/zero-cache/src/services/change-source/pg/replication-slots.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts +0 -9
- package/out/zero-cache/src/services/change-source/pg/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts +0 -68
- package/out/zero-cache/src/services/change-source/protocol/backfill-progress.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts +0 -72
- package/out/zero-cache/src/services/change-streamer/backfill-state-tracker.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts +0 -50
- package/out/zero-cache/src/services/change-streamer/backfill-state.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts +0 -12
- package/out/zero-cache/src/services/change-streamer/backup-cleanup-monitor-factory.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts +0 -57
- package/out/zero-cache/src/services/change-streamer/backup-monitor.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts +0 -98
- package/out/zero-cache/src/services/change-streamer/broadcast.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts +0 -34
- package/out/zero-cache/src/services/change-streamer/change-log-codec.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts +0 -34
- package/out/zero-cache/src/services/change-streamer/change-log-compare-digest.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts +0 -158
- package/out/zero-cache/src/services/change-streamer/change-log-initializer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts +0 -19
- package/out/zero-cache/src/services/change-streamer/change-log-transaction-hash.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts +0 -78
- package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +0 -152
- package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts +0 -575
- package/out/zero-cache/src/services/change-streamer/change-streamer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts +0 -24
- package/out/zero-cache/src/services/change-streamer/drain-tracker.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts +0 -15
- package/out/zero-cache/src/services/change-streamer/error-type-enum.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts +0 -49
- package/out/zero-cache/src/services/change-streamer/forwarder.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts +0 -80
- package/out/zero-cache/src/services/change-streamer/litestream-sync-requester.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts +0 -88
- package/out/zero-cache/src/services/change-streamer/litestream3-prometheus-poller.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts +0 -15
- package/out/zero-cache/src/services/change-streamer/replica-poller.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts +0 -243
- package/out/zero-cache/src/services/change-streamer/restore-admission.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts +0 -6
- package/out/zero-cache/src/services/change-streamer/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts +0 -152
- package/out/zero-cache/src/services/change-streamer/schema/tables.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.d.ts +0 -33
- package/out/zero-cache/src/services/change-streamer/server-start-metrics.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts +0 -11
- package/out/zero-cache/src/services/change-streamer/shard-sampling.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts +0 -92
- package/out/zero-cache/src/services/change-streamer/snapshot-message.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts +0 -36
- package/out/zero-cache/src/services/change-streamer/snapshot-reservations.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts +0 -22
- package/out/zero-cache/src/services/change-streamer/snapshot.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts +0 -99
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-catchup.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts +0 -83
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-comparator.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts +0 -121
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-purge-scheduler.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts +0 -73
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-read-router.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts +0 -62
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-reader.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts +0 -114
- package/out/zero-cache/src/services/change-streamer/sqlite-change-log-writer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/storer.d.ts +0 -276
- package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/subscribe.d.ts +0 -485
- package/out/zero-cache/src/services/change-streamer/subscribe.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts +0 -205
- package/out/zero-cache/src/services/change-streamer/subscriber.d.ts.map +0 -1
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts +0 -52
- package/out/zero-cache/src/services/change-streamer/upstream-acker.d.ts.map +0 -1
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts +0 -57
- package/out/zero-cache/src/services/limiter/sliding-window-limiter.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/commands.d.ts +0 -77
- package/out/zero-cache/src/services/litestream/commands.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts +0 -78
- package/out/zero-cache/src/services/litestream/litestream-controller.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/metrics.d.ts +0 -31
- package/out/zero-cache/src/services/litestream/metrics.d.ts.map +0 -1
- package/out/zero-cache/src/services/litestream/restore-progress.d.ts +0 -24
- package/out/zero-cache/src/services/litestream/restore-progress.d.ts.map +0 -1
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts +0 -40
- package/out/zero-cache/src/services/mutagen/mutagen.d.ts.map +0 -1
- package/out/zero-cache/src/services/mutagen/pusher.d.ts +0 -63
- package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-log-db.d.ts +0 -368
- package/out/zero-cache/src/services/replicator/change-log-db.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts +0 -56
- package/out/zero-cache/src/services/replicator/change-log-stream-writer.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/change-processor.d.ts +0 -37
- package/out/zero-cache/src/services/replicator/change-processor.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/drain-handler.d.ts +0 -82
- package/out/zero-cache/src/services/replicator/drain-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts +0 -25
- package/out/zero-cache/src/services/replicator/incremental-sync.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/notifier.d.ts +0 -9
- package/out/zero-cache/src/services/replicator/notifier.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/replication-status.d.ts +0 -71
- package/out/zero-cache/src/services/replicator/replication-status.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/replicator.d.ts +0 -86
- package/out/zero-cache/src/services/replicator/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts +0 -55
- package/out/zero-cache/src/services/replicator/reporter/recorder.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts +0 -132
- package/out/zero-cache/src/services/replicator/sqlite-change-log-observability.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts +0 -120
- package/out/zero-cache/src/services/replicator/sqlite-change-log-purger.d.ts.map +0 -1
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts +0 -111
- package/out/zero-cache/src/services/replicator/write-worker-client.d.ts.map +0 -1
- package/out/zero-cache/src/services/run-ast.d.ts +0 -39
- package/out/zero-cache/src/services/run-ast.d.ts.map +0 -1
- package/out/zero-cache/src/services/runner.d.ts +0 -19
- package/out/zero-cache/src/services/runner.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts +0 -17
- package/out/zero-cache/src/services/view-syncer/active-users-gauge.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts +0 -26
- package/out/zero-cache/src/services/view-syncer/advancement-metrics.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts +0 -79
- package/out/zero-cache/src/services/view-syncer/batch-pacer.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts +0 -97
- package/out/zero-cache/src/services/view-syncer/client-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts +0 -18
- package/out/zero-cache/src/services/view-syncer/client-schema.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts +0 -184
- package/out/zero-cache/src/services/view-syncer/connection-context-manager.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts +0 -22
- package/out/zero-cache/src/services/view-syncer/cvr-purger.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +0 -128
- package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts +0 -294
- package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts +0 -81
- package/out/zero-cache/src/services/view-syncer/deferred-writes-budget.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts +0 -45
- package/out/zero-cache/src/services/view-syncer/drain-coordinator.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts +0 -53
- package/out/zero-cache/src/services/view-syncer/e2e-serving-lag.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts +0 -33
- package/out/zero-cache/src/services/view-syncer/hydration-budget.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts +0 -51
- package/out/zero-cache/src/services/view-syncer/hydration-circuit-breaker.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts +0 -34
- package/out/zero-cache/src/services/view-syncer/inspect-handler.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +0 -296
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts +0 -7
- package/out/zero-cache/src/services/view-syncer/plan-warnings.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/push-cost.d.ts +0 -132
- package/out/zero-cache/src/services/view-syncer/push-cost.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts +0 -55
- package/out/zero-cache/src/services/view-syncer/push-cutoff.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-covering.d.ts +0 -28
- package/out/zero-cache/src/services/view-syncer/query-covering.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-shape.d.ts +0 -25
- package/out/zero-cache/src/services/view-syncer/query-shape.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/query-stats.d.ts +0 -89
- package/out/zero-cache/src/services/view-syncer/query-stats.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts +0 -90
- package/out/zero-cache/src/services/view-syncer/row-record-cache.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts +0 -17
- package/out/zero-cache/src/services/view-syncer/row-set-signature.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +0 -86
- package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts +0 -5
- package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts +0 -563
- package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts +0 -95
- package/out/zero-cache/src/services/view-syncer/snapshot-row-cache.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts +0 -420
- package/out/zero-cache/src/services/view-syncer/snapshotter.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/tracer.d.ts +0 -2
- package/out/zero-cache/src/services/view-syncer/tracer.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts +0 -10
- package/out/zero-cache/src/services/view-syncer/ttl-clock.d.ts.map +0 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +0 -133
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +0 -1
- package/out/zero-cache/src/types/downstream.d.ts +0 -11
- package/out/zero-cache/src/types/downstream.d.ts.map +0 -1
- package/out/zero-cache/src/types/error-with-level.d.ts +0 -9
- package/out/zero-cache/src/types/error-with-level.d.ts.map +0 -1
- package/out/zero-cache/src/types/pg-patch.d.ts +0 -21
- package/out/zero-cache/src/types/pg-patch.d.ts.map +0 -1
- package/out/zero-cache/src/types/pg-versions.d.ts +0 -3
- package/out/zero-cache/src/types/pg-versions.d.ts.map +0 -1
- package/out/zero-cache/src/types/poke-chunk.d.ts +0 -18
- package/out/zero-cache/src/types/poke-chunk.d.ts.map +0 -1
- package/out/zero-cache/src/types/streams.d.ts +0 -115
- package/out/zero-cache/src/types/streams.d.ts.map +0 -1
- package/out/zero-cache/src/types/subscription.d.ts +0 -197
- package/out/zero-cache/src/types/subscription.d.ts.map +0 -1
- package/out/zero-cache/src/workers/connect-params.d.ts +0 -28
- package/out/zero-cache/src/workers/connect-params.d.ts.map +0 -1
- package/out/zero-cache/src/workers/connection.d.ts +0 -77
- package/out/zero-cache/src/workers/connection.d.ts.map +0 -1
- package/out/zero-cache/src/workers/replicator.d.ts +0 -57
- package/out/zero-cache/src/workers/replicator.d.ts.map +0 -1
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts +0 -14
- package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +0 -1
- package/out/zero-cache/src/workers/syncer.d.ts +0 -67
- package/out/zero-cache/src/workers/syncer.d.ts.map +0 -1
- package/out/zero-events/src/index.d.ts +0 -27
- package/out/zero-events/src/index.d.ts.map +0 -1
- package/out/zero-events/src/json.d.ts +0 -20
- package/out/zero-events/src/json.d.ts.map +0 -1
- package/out/zero-events/src/status.d.ts +0 -144
- package/out/zero-events/src/status.d.ts.map +0 -1
- package/out/zqlite/src/database-storage.d.ts +0 -43
- package/out/zqlite/src/database-storage.d.ts.map +0 -1
- package/out/zqlite/src/explain-queries.d.ts +0 -4
- package/out/zqlite/src/explain-queries.d.ts.map +0 -1
- package/out/zqlite/src/internal/sql-inline.d.ts +0 -13
- package/out/zqlite/src/internal/sql-inline.d.ts.map +0 -1
- package/out/zqlite/src/resolve-scalar-subqueries.d.ts +0 -72
- package/out/zqlite/src/resolve-scalar-subqueries.d.ts.map +0 -1
- package/out/zqlite/src/sqlite-cost-model.d.ts +0 -17
- package/out/zqlite/src/sqlite-cost-model.d.ts.map +0 -1
- package/out/zqlite/src/sqlite-stat-fanout.d.ts +0 -121
- package/out/zqlite/src/sqlite-stat-fanout.d.ts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"connection-context-manager.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/connection-context-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import { type PostgresDB } from '../../types/pg.ts';
|
|
3
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
4
|
-
import type { Service } from '../service.ts';
|
|
5
|
-
type Options = {
|
|
6
|
-
inactivityThresholdMs: number;
|
|
7
|
-
initialBatchSize: number;
|
|
8
|
-
initialIntervalMs: number;
|
|
9
|
-
};
|
|
10
|
-
export declare class CVRPurger implements Service {
|
|
11
|
-
#private;
|
|
12
|
-
readonly id = "reaper";
|
|
13
|
-
constructor(lc: LogContext, db: PostgresDB, shard: ShardID, { inactivityThresholdMs, initialBatchSize, initialIntervalMs }: Options, tombstonePurgeThreshold?: number);
|
|
14
|
-
run(): Promise<void>;
|
|
15
|
-
purgeInactiveCVRs(maxCVRs: number): Promise<{
|
|
16
|
-
purged: number;
|
|
17
|
-
remaining: number;
|
|
18
|
-
}>;
|
|
19
|
-
stop(): Promise<void>;
|
|
20
|
-
}
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=cvr-purger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cvr-purger.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-purger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAQ3C,KAAK,OAAO,GAAG;IACb,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,qBAAa,SAAU,YAAW,OAAO;;IACvC,QAAQ,CAAC,EAAE,YAAY;IAWvB,YACE,EAAE,EAAE,UAAU,EACd,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,OAAO,EACd,EAAC,qBAAqB,EAAE,gBAAgB,EAAE,iBAAiB,EAAC,EAAE,OAAO,EACrE,uBAAuB,SAA4B,EAYpD;IAEK,GAAG,kBA8CR;IAGD,iBAAiB,CACf,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAgF9C;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpB;CACF"}
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import type { InspectQueryRow } from '../../../../zero-protocol/src/inspect-down.ts';
|
|
3
|
-
import { ProtocolErrorWithLevel } from '../../types/error-with-level.ts';
|
|
4
|
-
import type { PostgresDB, PostgresTransaction } from '../../types/pg.ts';
|
|
5
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
6
|
-
import type { PatchToVersion } from './client-handler.ts';
|
|
7
|
-
import type { CVR, CVRSnapshot } from './cvr.ts';
|
|
8
|
-
import { type RowsRow } from './schema/cvr.ts';
|
|
9
|
-
import { type ClientRecord, type CVRVersion, type NullableCVRVersion, type QueryPatch, type QueryRecord, type RowID, type RowRecord } from './schema/types.ts';
|
|
10
|
-
import { type TTLClock } from './ttl-clock.ts';
|
|
11
|
-
export type CVRFlushStats = {
|
|
12
|
-
instances: number;
|
|
13
|
-
queries: number;
|
|
14
|
-
desires: number;
|
|
15
|
-
clients: number;
|
|
16
|
-
rows: number;
|
|
17
|
-
rowsDeferred: number;
|
|
18
|
-
statements: number;
|
|
19
|
-
};
|
|
20
|
-
export declare class CVRStore {
|
|
21
|
-
#private;
|
|
22
|
-
constructor(lc: LogContext, cvrDb: PostgresDB, shard: ShardID, taskID: string, cvrID: string, failService: (e: unknown) => void, loadAttemptIntervalMs?: number, maxLoadAttempts?: number, deferredRowFlushThreshold?: number, // somewhat arbitrary
|
|
23
|
-
setTimeoutFn?: typeof setTimeout);
|
|
24
|
-
load(lc: LogContext, lastConnectTime: number): Promise<CVR>;
|
|
25
|
-
getRowRecords(): Promise<ReadonlyMap<RowID, RowRecord>>;
|
|
26
|
-
putRowRecord(row: RowRecord): void;
|
|
27
|
-
/**
|
|
28
|
-
* Note: Removing a row from the CVR should be represented by a
|
|
29
|
-
* {@link putRowRecord()} with `refCounts: null` in order to properly
|
|
30
|
-
* produce the appropriate delete patch when catching up old clients.
|
|
31
|
-
*
|
|
32
|
-
* This `delRowRecord()` method, on the other hand, is only used for
|
|
33
|
-
* "canceling" the put of a row that was not in the CVR in the first place.
|
|
34
|
-
*/
|
|
35
|
-
delRowRecord(id: RowID): void;
|
|
36
|
-
/**
|
|
37
|
-
* Overrides the default logic that removes no-op writes and forces
|
|
38
|
-
* the updates for the given row `ids`. This has no effect if there
|
|
39
|
-
* are no corresponding puts or dels for the associated row records.
|
|
40
|
-
*/
|
|
41
|
-
forceUpdates(...ids: RowID[]): void;
|
|
42
|
-
/**
|
|
43
|
-
* Updates the `ttlClock` of the CVR instance. The ttlClock starts at 0 when
|
|
44
|
-
* the CVR instance is first created and increments based on elapsed time
|
|
45
|
-
* since the base time established by the ViewSyncerService.
|
|
46
|
-
*/
|
|
47
|
-
updateTTLClock(ttlClock: TTLClock, lastActive: number): Promise<void>;
|
|
48
|
-
/**
|
|
49
|
-
* @returns This returns the current `ttlClock` of the CVR instance. The ttlClock
|
|
50
|
-
* represents elapsed time since the instance was created (starting from 0).
|
|
51
|
-
* If the CVR has never been initialized for this client group, it returns
|
|
52
|
-
* `undefined`.
|
|
53
|
-
*/
|
|
54
|
-
getTTLClock(): Promise<TTLClock | undefined>;
|
|
55
|
-
putInstance({ version, replicaVersion, lastActive, clientSchema, profileID, ttlClock, }: Pick<CVRSnapshot, 'version' | 'replicaVersion' | 'lastActive' | 'clientSchema' | 'profileID' | 'ttlClock'>): void;
|
|
56
|
-
markQueryAsDeleted(version: CVRVersion, queryPatch: QueryPatch): void;
|
|
57
|
-
putQuery(query: QueryRecord): void;
|
|
58
|
-
updateQuery(query: QueryRecord): void;
|
|
59
|
-
/**
|
|
60
|
-
* The persisted row-set signature of the query, or `undefined` if it has
|
|
61
|
-
* none (e.g. a query from before signatures were introduced). Reflects the
|
|
62
|
-
* loaded/flushed CVR; changes made with {@link updateRowSetSignature} are
|
|
63
|
-
* only visible after they are flushed.
|
|
64
|
-
*/
|
|
65
|
-
rowSetSignature(queryHash: string): bigint | undefined;
|
|
66
|
-
updateRowSetSignature(queryHash: string, signature: bigint): void;
|
|
67
|
-
insertClient(client: ClientRecord): void;
|
|
68
|
-
deleteClient(clientID: string): void;
|
|
69
|
-
putDesiredQuery(newVersion: CVRVersion, query: {
|
|
70
|
-
id: string;
|
|
71
|
-
}, client: {
|
|
72
|
-
id: string;
|
|
73
|
-
}, deleted: boolean, inactivatedAt: TTLClock | undefined, ttl: number): void;
|
|
74
|
-
catchupRowPatches(lc: LogContext, afterVersion: NullableCVRVersion, upToCVR: CVRSnapshot, current: CVRVersion, excludeQueryHashes?: string[]): AsyncGenerator<RowsRow[], void, undefined>;
|
|
75
|
-
catchupConfigPatches(lc: LogContext, afterVersion: NullableCVRVersion, upToCVR: CVRSnapshot, current: CVRVersion): Promise<PatchToVersion[]>;
|
|
76
|
-
get rowCount(): number;
|
|
77
|
-
/**
|
|
78
|
-
* Flushes pending writes, checking that `expectedCurrentVersion` is still
|
|
79
|
-
* the current version of the CVR and that this task still owns it.
|
|
80
|
-
*
|
|
81
|
-
* If there is nothing to write, the flush is a no-op and no check is done,
|
|
82
|
-
* unless `verifyNoop` is set.
|
|
83
|
-
*/
|
|
84
|
-
flush(lc: LogContext, expectedCurrentVersion: CVRVersion, cvr: CVRSnapshot, lastConnectTime: number, verifyNoop?: boolean): Promise<CVRFlushStats | null>;
|
|
85
|
-
/**
|
|
86
|
-
* Discards the writes queued since the last {@link flush}, i.e. those of
|
|
87
|
-
* an updater that is abandoned without being flushed (such as an
|
|
88
|
-
* advancement that aborts with a pipeline reset). Otherwise they would be
|
|
89
|
-
* written by the next flush, even though the poke that carried them to the
|
|
90
|
-
* clients was cancelled.
|
|
91
|
-
*
|
|
92
|
-
* The row cache is not affected: it only learns of writes when they are
|
|
93
|
-
* flushed.
|
|
94
|
-
*/
|
|
95
|
-
discardPending(): void;
|
|
96
|
-
hasPendingUpdates(): boolean;
|
|
97
|
-
/** Resolves when all pending updates are flushed. */
|
|
98
|
-
flushed(lc: LogContext): Promise<void>;
|
|
99
|
-
inspectQueries(lc: LogContext, ttlClock: TTLClock, clientID?: string): Promise<InspectQueryRow[]>;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* This is similar to {@link CVRStore.#checkVersionAndOwnership} except
|
|
103
|
-
* that it only checks the version and is suitable for snapshot reads
|
|
104
|
-
* (i.e. by doing a plain `SELECT` rather than a `SELECT ... FOR UPDATE`).
|
|
105
|
-
*/
|
|
106
|
-
export declare function checkVersion(tx: PostgresTransaction, schema: string, clientGroupID: string, expectedCurrentVersion: CVRVersion): Promise<void>;
|
|
107
|
-
export declare class ClientNotFoundError extends ProtocolErrorWithLevel {
|
|
108
|
-
constructor(message: string);
|
|
109
|
-
}
|
|
110
|
-
export declare class ConcurrentModificationException extends ProtocolErrorWithLevel {
|
|
111
|
-
readonly name = "ConcurrentModificationException";
|
|
112
|
-
constructor(expectedVersion: string, actualVersion: string);
|
|
113
|
-
}
|
|
114
|
-
export declare class OwnershipError extends ProtocolErrorWithLevel {
|
|
115
|
-
readonly name = "OwnershipError";
|
|
116
|
-
constructor(owner: string | null, grantedAt: number | null, lastConnectTime: number);
|
|
117
|
-
}
|
|
118
|
-
export declare class InvalidClientSchemaError extends ProtocolErrorWithLevel {
|
|
119
|
-
readonly name = "InvalidClientSchemaError";
|
|
120
|
-
constructor(cause: unknown);
|
|
121
|
-
}
|
|
122
|
-
export declare class RowsVersionBehindError extends Error {
|
|
123
|
-
readonly name = "RowsVersionBehindError";
|
|
124
|
-
readonly cvrVersion: string;
|
|
125
|
-
readonly rowsVersion: string | null;
|
|
126
|
-
constructor(cvrVersion: string, rowsVersion: string | null);
|
|
127
|
-
}
|
|
128
|
-
//# sourceMappingURL=cvr-store.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cvr-store.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAkBjD,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+CAA+C,CAAC;AAUnF,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAC,UAAU,EAAE,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAEvE,OAAO,EAAY,KAAK,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAQ,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAC,GAAG,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC;AAG/C,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,UAAU,EAGf,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,WAAW,EAEhB,KAAK,KAAK,EACV,KAAK,SAAS,EAGf,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAkHF,qBAAa,QAAQ;;IAqEnB,YACE,EAAE,EAAE,UAAU,EACd,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EACjC,qBAAqB,SAA2B,EAChD,eAAe,SAAoB,EACnC,yBAAyB,SAAM,EAAE,qBAAqB;IACtD,YAAY,oBAAa,EAkB1B;IAiBD,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAmC1D;IA+ND,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAEtD;IAED,YAAY,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,CAEjC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,EAAE,EAAE,KAAK,GAAG,IAAI,CAE5B;IAED;;;;OAIG;IACH,YAAY,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,QAI3B;IAED;;;;OAIG;IACG,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1E;IAED;;;;;OAKG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAajD;IAED,WAAW,CAAC,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,SAAS,EACT,QAAQ,GACT,EAAE,IAAI,CACL,WAAW,EACT,SAAS,GACT,gBAAgB,GAChB,YAAY,GACZ,cAAc,GACd,WAAW,GACX,UAAU,CACb,GAAG,IAAI,CAmBP;IAED,kBAAkB,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CASpE;IAED,QAAQ,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAqBjC;IAED,WAAW,CAAC,KAAK,EAAE,WAAW,QAY7B;IAED;;;;;OAKG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErD;IAED,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAKhE;IAED,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAUvC;IAED,YAAY,CAAC,QAAQ,EAAE,MAAM,QAQ5B;IAED,eAAe,CACb,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,EACnB,MAAM,EAAE;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,EACpB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,QAAQ,GAAG,SAAS,EACnC,GAAG,EAAE,MAAM,GACV,IAAI,CAgBN;IAED,iBAAiB,CACf,EAAE,EAAE,UAAU,EACd,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,EACnB,kBAAkB,GAAE,MAAM,EAAO,GAChC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAQ5C;IAEK,oBAAoB,CACxB,EAAE,EAAE,UAAU,EACd,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,cAAc,EAAE,CAAC,CAiE3B;IAwdD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;;;;;OAMG;IACG,KAAK,CACT,EAAE,EAAE,UAAU,EACd,sBAAsB,EAAE,UAAU,EAClC,GAAG,EAAE,WAAW,EAChB,eAAe,EAAE,MAAM,EACvB,UAAU,UAAQ,GACjB,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAwC/B;IAED;;;;;;;;;OASG;IACH,cAAc,IAAI,IAAI,CASrB;IAED,iBAAiB,IAAI,OAAO,CAE3B;IAED,qDAAqD;IACrD,OAAO,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAErC;IAEK,cAAc,CAClB,EAAE,EAAE,UAAU,EACd,QAAQ,EAAE,QAAQ,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,EAAE,CAAC,CAqC5B;CACF;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,EAAE,EAAE,mBAAmB,EACvB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,sBAAsB,EAAE,UAAU,GACjC,OAAO,CAAC,IAAI,CAAC,CAUf;AAED,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC7D,YAAY,OAAO,EAAE,MAAM,EAS1B;CACF;AAED,qBAAa,+BAAgC,SAAQ,sBAAsB;IACzE,QAAQ,CAAC,IAAI,qCAAqC;IAElD,YAAY,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EASzD;CACF;AAED,qBAAa,cAAe,SAAQ,sBAAsB;IACxD,QAAQ,CAAC,IAAI,oBAAoB;IAEjC,YACE,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,eAAe,EAAE,MAAM,EAcxB;CACF;AAED,qBAAa,wBAAyB,SAAQ,sBAAsB;IAClE,QAAQ,CAAC,IAAI,8BAA8B;IAE3C,YAAY,KAAK,EAAE,OAAO,EAUzB;CACF;AAkBD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,4BAA4B;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpC,YAAY,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,EAIzD;CACF"}
|
|
@@ -1,294 +0,0 @@
|
|
|
1
|
-
import type { LogContext } from '@rocicorp/logger';
|
|
2
|
-
import { type JSONObject } from '../../../../shared/src/bigint-json.ts';
|
|
3
|
-
import { type ReadonlyJSONValue } from '../../../../shared/src/json.ts';
|
|
4
|
-
import type { AST } from '../../../../zero-protocol/src/ast.ts';
|
|
5
|
-
import type { ClientSchema } from '../../../../zero-protocol/src/client-schema.ts';
|
|
6
|
-
import type { LexiVersion } from '../../types/lexi-version.ts';
|
|
7
|
-
import { type ShardID } from '../../types/shards.ts';
|
|
8
|
-
import type { PatchToVersion } from './client-handler.ts';
|
|
9
|
-
import { type CVRFlushStats, type CVRStore } from './cvr-store.ts';
|
|
10
|
-
import { type ClientRecord, type CVRVersion, type InternalQueryRecord, type QueryRecord, type RowID } from './schema/types.ts';
|
|
11
|
-
import { type TTLClock } from './ttl-clock.ts';
|
|
12
|
-
export type RowUpdate = {
|
|
13
|
-
version?: string;
|
|
14
|
-
contents?: JSONObject;
|
|
15
|
-
refCounts: {
|
|
16
|
-
[hash: string]: number;
|
|
17
|
-
};
|
|
18
|
-
};
|
|
19
|
-
/** Internally used mutable CVR type. */
|
|
20
|
-
export type CVR = {
|
|
21
|
-
id: string;
|
|
22
|
-
version: CVRVersion;
|
|
23
|
-
lastActive: number;
|
|
24
|
-
ttlClock: TTLClock;
|
|
25
|
-
replicaVersion: string | null;
|
|
26
|
-
clients: Record<string, ClientRecord>;
|
|
27
|
-
queries: Record<string, QueryRecord>;
|
|
28
|
-
clientSchema: ClientSchema | null;
|
|
29
|
-
profileID: string | null;
|
|
30
|
-
};
|
|
31
|
-
/** Exported immutable CVR type. */
|
|
32
|
-
export type CVRSnapshot = {
|
|
33
|
-
readonly id: string;
|
|
34
|
-
readonly version: CVRVersion;
|
|
35
|
-
readonly lastActive: number;
|
|
36
|
-
readonly ttlClock: TTLClock;
|
|
37
|
-
readonly replicaVersion: string | null;
|
|
38
|
-
readonly clients: Readonly<Record<string, ClientRecord>>;
|
|
39
|
-
readonly queries: Readonly<Record<string, QueryRecord>>;
|
|
40
|
-
readonly clientSchema: ClientSchema | null;
|
|
41
|
-
readonly profileID: string | null;
|
|
42
|
-
};
|
|
43
|
-
export declare function getMutationResultsQuery(upstreamSchema: string, clientGroupID: string): InternalQueryRecord;
|
|
44
|
-
/**
|
|
45
|
-
* The base CVRUpdater contains logic common to the {@link CVRConfigDrivenUpdater} and
|
|
46
|
-
* {@link CVRQueryDrivenUpdater}. The CVRUpdater class itself is exported for updating
|
|
47
|
-
* the `lastActive` time of the CVR in the absence of any changes to the CVR contents.
|
|
48
|
-
* Although activity is automatically tracked when the CVR contents change, there may be
|
|
49
|
-
* edge cases in which a client actively connects to a CVR that doesn't itself change.
|
|
50
|
-
* Calling `new CVRUpdater(...).flush()` will explicitly update the active index and
|
|
51
|
-
* prevent the CVR from being garbage collected.
|
|
52
|
-
*/
|
|
53
|
-
export declare class CVRUpdater {
|
|
54
|
-
protected readonly _orig: CVRSnapshot;
|
|
55
|
-
protected readonly _cvr: CVR;
|
|
56
|
-
protected readonly _cvrStore: CVRStore;
|
|
57
|
-
/**
|
|
58
|
-
* @param cvrStore The CVRStore to use for storage
|
|
59
|
-
* @param cvr The current CVR
|
|
60
|
-
*/
|
|
61
|
-
constructor(cvrStore: CVRStore, cvr: CVRSnapshot, replicaVersion: string | null);
|
|
62
|
-
protected _mutableClients(): Record<string, ClientRecord>;
|
|
63
|
-
protected _mutableClient(id: string): ClientRecord;
|
|
64
|
-
protected _mutableQueries(): Record<string, QueryRecord>;
|
|
65
|
-
protected _mutableQuery(id: string): QueryRecord;
|
|
66
|
-
protected _setVersion(version: CVRVersion): {
|
|
67
|
-
stateVersion: string;
|
|
68
|
-
configVersion?: number | undefined;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Ensures that the new CVR has a higher version than the original.
|
|
72
|
-
* This method is idempotent in that it will always return the same
|
|
73
|
-
* (possibly bumped) version.
|
|
74
|
-
*/
|
|
75
|
-
protected _ensureNewVersion(): CVRVersion;
|
|
76
|
-
/**
|
|
77
|
-
* @param verifyNoop Check that the original CVR is still current even if
|
|
78
|
-
* there is nothing to write. See {@link CVRStore.flush}.
|
|
79
|
-
*/
|
|
80
|
-
flush(lc: LogContext, lastConnectTime: number, lastActive: number, ttlClock: TTLClock, verifyNoop?: boolean): Promise<{
|
|
81
|
-
cvr: CVRSnapshot;
|
|
82
|
-
flushed: CVRFlushStats | false;
|
|
83
|
-
}>;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* A {@link CVRConfigDrivenUpdater} is used for updating a CVR with config-driven
|
|
87
|
-
* changes. Note that this may result in row deletion (e.g. if queries get dropped),
|
|
88
|
-
* but the `stateVersion` of the CVR does not change.
|
|
89
|
-
*/
|
|
90
|
-
export declare class CVRConfigDrivenUpdater extends CVRUpdater {
|
|
91
|
-
#private;
|
|
92
|
-
constructor(cvrStore: CVRStore, cvr: CVRSnapshot, shard: ShardID);
|
|
93
|
-
ensureClient(id: string): ClientRecord;
|
|
94
|
-
setClientSchema(lc: LogContext, clientSchema: ClientSchema): void;
|
|
95
|
-
setProfileID(lc: LogContext, profileID: string): void;
|
|
96
|
-
putDesiredQueries(clientID: string, queries: Readonly<{
|
|
97
|
-
hash: string;
|
|
98
|
-
ast?: AST | undefined;
|
|
99
|
-
name?: string | undefined;
|
|
100
|
-
args?: readonly ReadonlyJSONValue[] | undefined;
|
|
101
|
-
ttl?: number | undefined;
|
|
102
|
-
}>[]): PatchToVersion[];
|
|
103
|
-
markDesiredQueriesAsInactive(clientID: string, queryHashes: string[], ttlClock: TTLClock): PatchToVersion[];
|
|
104
|
-
deleteDesiredQueries(clientID: string, queryHashes: string[]): PatchToVersion[];
|
|
105
|
-
clearDesiredQueries(clientID: string): PatchToVersion[];
|
|
106
|
-
deleteClient(clientID: string, ttlClock: TTLClock): PatchToVersion[];
|
|
107
|
-
}
|
|
108
|
-
type Hash = string;
|
|
109
|
-
export type Column = string;
|
|
110
|
-
export type RefCounts = Record<Hash, number>;
|
|
111
|
-
/**
|
|
112
|
-
* The row-set signatures maintained by the pipeline driver, used by
|
|
113
|
-
* {@link CVRQueryDrivenUpdater.flush} to persist the ones that changed.
|
|
114
|
-
* Implemented by `PipelineDriver`.
|
|
115
|
-
*/
|
|
116
|
-
export interface RowSetSignatureProvider {
|
|
117
|
-
/**
|
|
118
|
-
* IDs of the queries whose signature changed since the last
|
|
119
|
-
* {@link clearChangedRowSetSignatures}. Queries not in this set are not
|
|
120
|
-
* looked at, so that a flush does not have to visit every query.
|
|
121
|
-
*/
|
|
122
|
-
changedRowSetSignatures(): Iterable<string>;
|
|
123
|
-
/**
|
|
124
|
-
* The current signature for the query. `undefined` means "no pipeline for
|
|
125
|
-
* this query right now" — the stored signature on disk is left alone.
|
|
126
|
-
*/
|
|
127
|
-
rowSetSignature(queryID: string): bigint | undefined;
|
|
128
|
-
/** Called after the changed signatures have been flushed. */
|
|
129
|
-
clearChangedRowSetSignatures(): void;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* A {@link CVRQueryDrivenUpdater} is used for updating a CVR after making queries.
|
|
133
|
-
* The caller should invoke:
|
|
134
|
-
*
|
|
135
|
-
* * {@link trackQueries} for queries that are being executed or removed.
|
|
136
|
-
* * {@link received} for all rows received from the executed queries
|
|
137
|
-
* * {@link removeTrackedQueries} for optional queries that did not execute
|
|
138
|
-
* * {@link deleteUnreferencedRows} to remove any rows that have
|
|
139
|
-
* fallen out of the query result view.
|
|
140
|
-
* * {@link flush}
|
|
141
|
-
*
|
|
142
|
-
* After flushing, the caller should perform any necessary catchup of
|
|
143
|
-
* config and row patches for clients that are behind. See
|
|
144
|
-
* {@link CVRStore.catchupConfigPatches} and {@link CVRStore.catchupRowPatches}.
|
|
145
|
-
*/
|
|
146
|
-
export declare class CVRQueryDrivenUpdater extends CVRUpdater {
|
|
147
|
-
#private;
|
|
148
|
-
/**
|
|
149
|
-
* @param stateVersion The `stateVersion` at which the queries were executed.
|
|
150
|
-
* @param rowSetSignature Optional source of the current row-set
|
|
151
|
-
* signatures, typically the `PipelineDriver`. When provided,
|
|
152
|
-
* {@link flush} persists the signatures that changed.
|
|
153
|
-
*/
|
|
154
|
-
constructor(cvrStore: CVRStore, cvr: CVRSnapshot, stateVersion: LexiVersion, replicaVersion: string, rowSetSignature?: RowSetSignatureProvider);
|
|
155
|
-
/**
|
|
156
|
-
* Initiates the tracking of the specified `executed` and `removed` queries.
|
|
157
|
-
* This kicks of a lookup of existing {@link RowRecord}s currently associated
|
|
158
|
-
* with those queries, which will be used to reconcile the rows to keep
|
|
159
|
-
* after all rows have been {@link received()}.
|
|
160
|
-
*
|
|
161
|
-
* "transformed" queries are queries that are currently
|
|
162
|
-
* gotten and running in the pipeline driver but
|
|
163
|
-
* received a new transformation hash due to an auth token
|
|
164
|
-
* update.
|
|
165
|
-
*
|
|
166
|
-
* @returns The new CVRVersion to be used when all changes are committed.
|
|
167
|
-
*/
|
|
168
|
-
trackQueries(lc: LogContext, executed: {
|
|
169
|
-
id: string;
|
|
170
|
-
transformationHash: string;
|
|
171
|
-
}[], removed: {
|
|
172
|
-
id: string;
|
|
173
|
-
}[]): {
|
|
174
|
-
newVersion: CVRVersion;
|
|
175
|
-
queryPatches: PatchToVersion[];
|
|
176
|
-
};
|
|
177
|
-
/**
|
|
178
|
-
* Converts queries that were tracked as executed into normal query
|
|
179
|
-
* removals. This is used when a hydration budget expires after
|
|
180
|
-
* `trackQueries()` has established the final poke version but before an
|
|
181
|
-
* optional query starts hydration.
|
|
182
|
-
*
|
|
183
|
-
* The query ID remains in `#removedOrExecutedQueryIDs`, so its row
|
|
184
|
-
* references are dropped by {@link deleteUnreferencedRows} exactly as they
|
|
185
|
-
* would be for a query removed up front. Never un-track a query here: rows
|
|
186
|
-
* already flushed by {@link received} have had its refCounts stripped and
|
|
187
|
-
* cannot be restored.
|
|
188
|
-
*/
|
|
189
|
-
removeTrackedQueries(queryIDs: Iterable<string>): PatchToVersion[];
|
|
190
|
-
/**
|
|
191
|
-
* Aborts queries that were tracked as executed but whose hydration was cut
|
|
192
|
-
* short (see the view-syncer's hydration circuit breaker).
|
|
193
|
-
*
|
|
194
|
-
* Rows received for an aborted query in this update have that query's
|
|
195
|
-
* references stripped: a row left with no references is deleted, and the
|
|
196
|
-
* 'del' patch cancels the 'put' the client has already received, while a
|
|
197
|
-
* row still referenced by other queries keeps its patch version. The query
|
|
198
|
-
* is then removed from the CVR. It stays tracked as executed, so
|
|
199
|
-
* {@link deleteUnreferencedRows} also drops the references held by rows that
|
|
200
|
-
* were synced for it before this update, exactly as for a removed query.
|
|
201
|
-
*
|
|
202
|
-
* Like {@link removeTrackedQueries}, this must be called after
|
|
203
|
-
* {@link trackQueries} has established the final version, and after all
|
|
204
|
-
* rows of the aborted queries have been {@link received}.
|
|
205
|
-
*/
|
|
206
|
-
abortExecutedQueries(lc: LogContext, queryIDs: readonly string[]): Promise<PatchToVersion[]>;
|
|
207
|
-
/**
|
|
208
|
-
* Retracts what queries have contributed to this update, so that they can
|
|
209
|
-
* be executed again from scratch in the same update. This is for a query
|
|
210
|
-
* whose changes were being received incrementally (see
|
|
211
|
-
* `PipelineDriver.advance()`) until its pipeline was abandoned in favor of
|
|
212
|
-
* hydrating it again.
|
|
213
|
-
*
|
|
214
|
-
* Rows received so far in this update have the queries' references
|
|
215
|
-
* stripped, as in {@link abortExecutedQueries}, except that a row left
|
|
216
|
-
* with no references is only deleted by {@link deleteUnreferencedRows}, if
|
|
217
|
-
* it is still unreferenced by then. Until then the clients keep the row
|
|
218
|
-
* and the patches they received for it in this update, so a row that is
|
|
219
|
-
* received again unchanged needs no patch at all. The queries are then
|
|
220
|
-
* tracked as executed, without changing them in the CVR: the references
|
|
221
|
-
* they held before this update are replaced, rather than adjusted, by the
|
|
222
|
-
* rows subsequently {@link received} for them, and
|
|
223
|
-
* {@link deleteUnreferencedRows} drops the references of rows that are not
|
|
224
|
-
* received again.
|
|
225
|
-
*
|
|
226
|
-
* Unlike {@link trackQueries}, this can be called on an updater that has
|
|
227
|
-
* not tracked any queries, and after rows have been received. All rows
|
|
228
|
-
* that the queries' pipelines have output must have been {@link received}
|
|
229
|
-
* first, and {@link deleteUnreferencedRows} must be called once the
|
|
230
|
-
* queries' rows have been received again.
|
|
231
|
-
*/
|
|
232
|
-
retractQueries(lc: LogContext, queryIDs: readonly string[]): Promise<PatchToVersion[]>;
|
|
233
|
-
updatedVersion(): CVRVersion;
|
|
234
|
-
/**
|
|
235
|
-
* Public alias for {@link _ensureNewVersion}. Forces a `configVersion` bump
|
|
236
|
-
* when the caller needs a new CVR version for reasons outside the built-in
|
|
237
|
-
* tracking (e.g. rowSetSignature drift re-execution).
|
|
238
|
-
*/
|
|
239
|
-
ensureNewVersion(): CVRVersion;
|
|
240
|
-
flush(lc: LogContext, lastConnectTime: number, lastActive: number, ttlClock: TTLClock, verifyNoop?: boolean): Promise<{
|
|
241
|
-
cvr: CVRSnapshot;
|
|
242
|
-
flushed: CVRFlushStats | false;
|
|
243
|
-
}>;
|
|
244
|
-
/**
|
|
245
|
-
* Tracks rows received from executing queries. This will update row records
|
|
246
|
-
* and row patches if the received rows have a new version. The method also
|
|
247
|
-
* returns (put) patches to be returned to update their state, versioned by
|
|
248
|
-
* patchVersion so that only the patches new to the clients are sent.
|
|
249
|
-
*/
|
|
250
|
-
received(lc: LogContext, rows: Map<RowID, RowUpdate>): Promise<PatchToVersion[]>;
|
|
251
|
-
/**
|
|
252
|
-
* Computes and updates the row records based on:
|
|
253
|
-
* * The {@link #executed} queries
|
|
254
|
-
* * The {@link #removed} queries
|
|
255
|
-
* * The {@link received} rows
|
|
256
|
-
*
|
|
257
|
-
* Returns the final delete and patch ops that must be sent to the client
|
|
258
|
-
* to delete rows that are no longer referenced by any query.
|
|
259
|
-
*
|
|
260
|
-
* This is Step [5] of the
|
|
261
|
-
* [CVR Sync Algorithm](https://www.notion.so/replicache/Sync-and-Client-View-Records-CVR-a18e02ec3ec543449ea22070855ff33d?pvs=4#7874f9b80a514be2b8cd5cf538b88d37).
|
|
262
|
-
*/
|
|
263
|
-
deleteUnreferencedRows(lc?: LogContext): Promise<PatchToVersion[]>;
|
|
264
|
-
}
|
|
265
|
-
/**
|
|
266
|
-
* The query must be inactive for all clients to be considered inactive.
|
|
267
|
-
* This is because expiration is defined that way: a query is expired for a client group
|
|
268
|
-
* only if it is expired for all clients in the group.
|
|
269
|
-
*
|
|
270
|
-
* If all clients have inactivated the query, we return
|
|
271
|
-
* the one with the expiration furthest in the future.
|
|
272
|
-
*/
|
|
273
|
-
export declare function getInactiveQueries(cvr: CVR): {
|
|
274
|
-
hash: string;
|
|
275
|
-
inactivatedAt: TTLClock;
|
|
276
|
-
ttl: number;
|
|
277
|
-
}[];
|
|
278
|
-
export type HydrationQueryGroups<T extends QueryRecord = QueryRecord> = {
|
|
279
|
-
required: T[];
|
|
280
|
-
/**
|
|
281
|
-
* Never contains an internal query: those are always required, so callers
|
|
282
|
-
* can rely on `patchVersion` being present on the type.
|
|
283
|
-
*/
|
|
284
|
-
optional: Exclude<T, InternalQueryRecord>[];
|
|
285
|
-
};
|
|
286
|
-
/**
|
|
287
|
-
* Splits hydration candidates into required and optional queries. Optional
|
|
288
|
-
* queries are ordered from latest to earliest effective expiration; an
|
|
289
|
-
* ownerless query has the lowest priority.
|
|
290
|
-
*/
|
|
291
|
-
export declare function classifyQueriesForHydration<T extends QueryRecord>(queries: Iterable<T>): HydrationQueryGroups<T>;
|
|
292
|
-
export declare function nextEvictionTime(cvr: CVR): TTLClock | undefined;
|
|
293
|
-
export {};
|
|
294
|
-
//# sourceMappingURL=cvr.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cvr.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/cvr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The bytes assumed for each row held in memory, which converts the memory
|
|
3
|
-
* given to deferred writes into rows. The width of the rows an advancement
|
|
4
|
-
* will hold is not known before it starts.
|
|
5
|
-
*/
|
|
6
|
-
export declare const BYTES_PER_ROW = 1024;
|
|
7
|
-
/**
|
|
8
|
-
* Bounds the memory that deferred IVM writes (see `deferIvmWrites`) use
|
|
9
|
-
* across the client groups of one syncer process.
|
|
10
|
-
*
|
|
11
|
-
* Each client group holds its own in-memory copy of the changes of the
|
|
12
|
-
* advancement it is processing, so the copies add up across the groups that
|
|
13
|
-
* advance at the same time. Before an advancement starts, its pipeline driver
|
|
14
|
-
* reserves the number of change log entries it advances through (of every
|
|
15
|
-
* table, since counting only the tables it reads would take a scan of the
|
|
16
|
-
* entries). That number bounds the rows its sources can hold: the change log
|
|
17
|
-
* has one entry per row key (a truncation, which does not, resets the
|
|
18
|
-
* pipelines instead), and a row displaced through a unique key must itself
|
|
19
|
-
* have changed in the same interval, so it has its own entry. (An entry that
|
|
20
|
-
* sets a row of a table whose primary key in the client schema is not the key
|
|
21
|
-
* the change log uses can change the row's primary key, which is two rows, so
|
|
22
|
-
* the driver reserves a second row for it as it gets to it.) An advancement that does
|
|
23
|
-
* not fit is written through to the replica snapshot instead, which SQLite
|
|
24
|
-
* bounds with its page cache and spills to disk.
|
|
25
|
-
*
|
|
26
|
-
* The rows are reserved at an assumed {@link BYTES_PER_ROW}, but their width
|
|
27
|
-
* is not known until they are held. So the advancements also add up the
|
|
28
|
-
* bytes they are estimated to hold as they go, and the one that takes the
|
|
29
|
-
* total past the budget writes what it holds through to the replica snapshot,
|
|
30
|
-
* and the rest of its changes after them.
|
|
31
|
-
*
|
|
32
|
-
* The budget is a share of the heap, so it does not depend on how many
|
|
33
|
-
* client groups are connected: when advancements do not overlap, each one
|
|
34
|
-
* can use all of it, and when many do, each gets less and the rest write
|
|
35
|
-
* through.
|
|
36
|
-
*/
|
|
37
|
-
export declare class DeferredWritesBudget {
|
|
38
|
-
#private;
|
|
39
|
-
/**
|
|
40
|
-
* A budget of `proportion` of the heap limit, and the rows that fit in it
|
|
41
|
-
* at {@link BYTES_PER_ROW}.
|
|
42
|
-
*/
|
|
43
|
-
static forHeapProportion(proportion: number): DeferredWritesBudget;
|
|
44
|
-
/** A budget of `bytes`, and the rows that fit in it at {@link BYTES_PER_ROW}. */
|
|
45
|
-
static forBytes(bytes: number): DeferredWritesBudget;
|
|
46
|
-
constructor(maxRows: number, maxBytes: number);
|
|
47
|
-
get maxRows(): number;
|
|
48
|
-
get maxBytes(): number;
|
|
49
|
-
get reservedRows(): number;
|
|
50
|
-
/** The estimated bytes held by the advancements that hold rows. */
|
|
51
|
-
get heldBytes(): number;
|
|
52
|
-
/**
|
|
53
|
-
* Reserves `rows` if they fit in what is left of the budget, and returns
|
|
54
|
-
* whether they did. A successful reservation must be {@link release}d.
|
|
55
|
-
*/
|
|
56
|
-
tryReserve(rows: number): boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Reserves `rows` more for an advancement that is already holding rows, if
|
|
59
|
-
* they fit. An advancement reserves a row this way for each change log entry
|
|
60
|
-
* that can change the primary key of the row it sets, as it gets to it, and
|
|
61
|
-
* writes through if it does not fit. The rows are {@link release}d with the rest.
|
|
62
|
-
*/
|
|
63
|
-
tryReserveMore(rows: number): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* Adds `bytes` (fewer if negative) to the estimated bytes held by an
|
|
66
|
-
* advancement that has reserved rows, and returns whether the total is
|
|
67
|
-
* still within the budget. If it is not, the advancement is expected to
|
|
68
|
-
* stop holding rows and {@link release} them.
|
|
69
|
-
*/
|
|
70
|
-
holdBytes(bytes: number): boolean;
|
|
71
|
-
/**
|
|
72
|
-
* The advancements that have held more rows than they reserved, which the
|
|
73
|
-
* reservation is supposed to rule out. Each writes through the rest of its
|
|
74
|
-
* changes instead.
|
|
75
|
-
*/
|
|
76
|
-
get rowOverruns(): number;
|
|
77
|
-
recordRowOverrun(): void;
|
|
78
|
-
/** Returns an advancement's reserved `rows` and the `bytes` it held. */
|
|
79
|
-
release(rows: number, bytes: number): void;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=deferred-writes-budget.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deferred-writes-budget.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/deferred-writes-budget.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,eAAO,MAAM,aAAa,OAAO,CAAC;AAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,oBAAoB;;IAO/B;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,oBAAoB,CAIjE;IAED,iFAAiF;IACjF,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAEnD;IAED,YAAY,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAG5C;IAED,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,mEAAmE;IACnE,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;OAGG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEhC;IAED;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpC;IAUD;;;;;OAKG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAIhC;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,gBAAgB,IAAI,IAAI,CAEvB;IAED,wEAAwE;IACxE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAYzC;CACF"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
type DrainListener = () => void;
|
|
2
|
-
/**
|
|
3
|
-
* There are two types of drains:
|
|
4
|
-
* 1. Elective drains happen when a view-syncer is about to process
|
|
5
|
-
* a replication event and drains instead because {@link shouldDrain()}
|
|
6
|
-
* returned true. In this case, it exits its processing loop and
|
|
7
|
-
* calls {@link drainNextIn()} immediately.
|
|
8
|
-
* 2. Force drains are performed by the Syncer, which picks a random
|
|
9
|
-
* view-syncer and calls {@link stop()}.
|
|
10
|
-
*
|
|
11
|
-
* In the case of a forced drain, the view-syncer may be queued up
|
|
12
|
-
* behind a large amount of CPU-consuming events, and thus it may take
|
|
13
|
-
* a long time before it actually stops. Elective drains are preferred because
|
|
14
|
-
* they are less subject to that variance. However, elective drains only happen
|
|
15
|
-
* if there is a task to be processed, so forced drains are still necessary
|
|
16
|
-
* for draining servers with no work / tasks.
|
|
17
|
-
*
|
|
18
|
-
* The Syncer kicks off the drain process by calling {@link drainNextIn drainNextIn(0)},
|
|
19
|
-
* which sets off a short {@link forceDrainTimeout} but starts returning `true` for
|
|
20
|
-
* {@link shouldDrain()} for elective drains. In the latter case, the drained
|
|
21
|
-
* view-syncer immediately exiting its processing loop and calls
|
|
22
|
-
* {@link drainNextIn drainNextIn(myHydrationTime)} to reset the timeout
|
|
23
|
-
* for the next elective or forced drain.
|
|
24
|
-
*/
|
|
25
|
-
export declare class DrainCoordinator {
|
|
26
|
-
#private;
|
|
27
|
-
/**
|
|
28
|
-
* Calls `listener` once draining has started (immediately if it already
|
|
29
|
-
* has) and returns a function that unsubscribes it.
|
|
30
|
-
*
|
|
31
|
-
* This is a subscription rather than a Promise so that a caller that stops
|
|
32
|
-
* caring (e.g. a view-syncer that finished initializing) can let go of it.
|
|
33
|
-
* A reaction attached to a Promise that may never settle would otherwise
|
|
34
|
-
* be retained by the coordinator for the lifetime of the server, once per
|
|
35
|
-
* view-syncer ever created.
|
|
36
|
-
*/
|
|
37
|
-
onDraining(listener: DrainListener): () => void;
|
|
38
|
-
get drainListenerCount(): number;
|
|
39
|
-
shouldDrain(): 0 | boolean;
|
|
40
|
-
drainNextIn(interval: number): void;
|
|
41
|
-
get forceDrainTimeout(): Promise<void>;
|
|
42
|
-
get nextDrainTime(): number;
|
|
43
|
-
}
|
|
44
|
-
export {};
|
|
45
|
-
//# sourceMappingURL=drain-coordinator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"drain-coordinator.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/drain-coordinator.ts"],"names":[],"mappings":"AAGA,KAAK,aAAa,GAAG,MAAM,IAAI,CAAC;AAMhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,gBAAgB;;IAO3B;;;;;;;;;OASG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,IAAI,CAS9C;IAGD,IAAI,kBAAkB,WAErB;IAED,WAAW,gBAEV;IAED,WAAW,CAAC,QAAQ,EAAE,MAAM,QA0B3B;IAED,IAAI,iBAAiB,kBAEpB;IAGD,IAAI,aAAa,WAEhB;CACF"}
|