@rocicorp/zero 0.21.2025070201 → 0.22.2025070200

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 (122) hide show
  1. package/out/{chunk-CESYRWV4.js → chunk-43L7S6AU.js} +46 -34
  2. package/out/{chunk-CESYRWV4.js.map → chunk-43L7S6AU.js.map} +4 -4
  3. package/out/{chunk-UOYRI2SS.js → chunk-HTNKB2W7.js} +253 -55
  4. package/out/chunk-HTNKB2W7.js.map +7 -0
  5. package/out/{chunk-UYT6AWSA.js → chunk-ODTJYJ37.js} +3 -3
  6. package/out/{inspector-LF6RTN44.js → inspector-WSEHHWA3.js} +7 -3
  7. package/out/{inspector-LF6RTN44.js.map → inspector-WSEHHWA3.js.map} +2 -2
  8. package/out/react.js +2 -2
  9. package/out/shared/src/broadcast-channel.d.ts.map +1 -0
  10. package/out/solid.js +111 -99
  11. package/out/solid.js.map +4 -4
  12. package/out/zero-cache/src/config/zero-config.d.ts +8 -0
  13. package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
  14. package/out/zero-cache/src/config/zero-config.js +9 -0
  15. package/out/zero-cache/src/config/zero-config.js.map +1 -1
  16. package/out/zero-cache/src/server/change-streamer.d.ts.map +1 -1
  17. package/out/zero-cache/src/server/change-streamer.js +2 -2
  18. package/out/zero-cache/src/server/change-streamer.js.map +1 -1
  19. package/out/zero-cache/src/services/change-source/pg/copy-runner.d.ts.map +1 -1
  20. package/out/zero-cache/src/services/change-source/pg/copy-runner.js +4 -3
  21. package/out/zero-cache/src/services/change-source/pg/copy-runner.js.map +1 -1
  22. package/out/zero-cache/src/services/change-streamer/change-streamer-http.d.ts.map +1 -1
  23. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js +1 -1
  24. package/out/zero-cache/src/services/change-streamer/change-streamer-http.js.map +1 -1
  25. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts +1 -1
  26. package/out/zero-cache/src/services/change-streamer/change-streamer-service.d.ts.map +1 -1
  27. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js +4 -4
  28. package/out/zero-cache/src/services/change-streamer/change-streamer-service.js.map +1 -1
  29. package/out/zero-cache/src/services/change-streamer/storer.d.ts +1 -1
  30. package/out/zero-cache/src/services/change-streamer/storer.d.ts.map +1 -1
  31. package/out/zero-cache/src/services/change-streamer/storer.js +10 -3
  32. package/out/zero-cache/src/services/change-streamer/storer.js.map +1 -1
  33. package/out/zero-cache/src/services/mutagen/pusher.d.ts +6 -2
  34. package/out/zero-cache/src/services/mutagen/pusher.d.ts.map +1 -1
  35. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts +12 -1
  36. package/out/zero-cache/src/services/view-syncer/cvr-store.d.ts.map +1 -1
  37. package/out/zero-cache/src/services/view-syncer/cvr-store.js +41 -10
  38. package/out/zero-cache/src/services/view-syncer/cvr-store.js.map +1 -1
  39. package/out/zero-cache/src/services/view-syncer/cvr.d.ts +4 -6
  40. package/out/zero-cache/src/services/view-syncer/cvr.d.ts.map +1 -1
  41. package/out/zero-cache/src/services/view-syncer/cvr.js +16 -29
  42. package/out/zero-cache/src/services/view-syncer/cvr.js.map +1 -1
  43. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts +2 -1
  44. package/out/zero-cache/src/services/view-syncer/schema/cvr.d.ts.map +1 -1
  45. package/out/zero-cache/src/services/view-syncer/schema/cvr.js +8 -7
  46. package/out/zero-cache/src/services/view-syncer/schema/cvr.js.map +1 -1
  47. package/out/zero-cache/src/services/view-syncer/schema/init.d.ts.map +1 -1
  48. package/out/zero-cache/src/services/view-syncer/schema/init.js +7 -0
  49. package/out/zero-cache/src/services/view-syncer/schema/init.js.map +1 -1
  50. package/out/zero-cache/src/services/view-syncer/schema/types.d.ts.map +1 -1
  51. package/out/zero-cache/src/services/view-syncer/schema/types.js +3 -0
  52. package/out/zero-cache/src/services/view-syncer/schema/types.js.map +1 -1
  53. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts +2 -4
  54. package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
  55. package/out/zero-cache/src/services/view-syncer/view-syncer.js +144 -48
  56. package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
  57. package/out/zero-cache/src/workers/connection.d.ts.map +1 -1
  58. package/out/zero-cache/src/workers/connection.js +1 -25
  59. package/out/zero-cache/src/workers/connection.js.map +1 -1
  60. package/out/zero-cache/src/workers/syncer-ws-message-handler.d.ts.map +1 -1
  61. package/out/zero-cache/src/workers/syncer-ws-message-handler.js +1 -1
  62. package/out/zero-cache/src/workers/syncer-ws-message-handler.js.map +1 -1
  63. package/out/zero-client/src/client/active-clients-manager.d.ts +49 -0
  64. package/out/zero-client/src/client/active-clients-manager.d.ts.map +1 -0
  65. package/out/zero-client/src/client/inspector/types.d.ts +4 -2
  66. package/out/zero-client/src/client/inspector/types.d.ts.map +1 -1
  67. package/out/zero-client/src/client/zero.d.ts +2 -1
  68. package/out/zero-client/src/client/zero.d.ts.map +1 -1
  69. package/out/zero-protocol/src/close-connection.d.ts +4 -0
  70. package/out/zero-protocol/src/close-connection.d.ts.map +1 -1
  71. package/out/zero-protocol/src/close-connection.js +2 -0
  72. package/out/zero-protocol/src/close-connection.js.map +1 -1
  73. package/out/zero-protocol/src/connect.d.ts +14 -0
  74. package/out/zero-protocol/src/connect.d.ts.map +1 -1
  75. package/out/zero-protocol/src/connect.js +7 -0
  76. package/out/zero-protocol/src/connect.js.map +1 -1
  77. package/out/zero-protocol/src/down.d.ts +3 -1
  78. package/out/zero-protocol/src/down.d.ts.map +1 -1
  79. package/out/zero-protocol/src/inspect-down.d.ts +12 -4
  80. package/out/zero-protocol/src/inspect-down.d.ts.map +1 -1
  81. package/out/zero-protocol/src/inspect-down.js +7 -1
  82. package/out/zero-protocol/src/inspect-down.js.map +1 -1
  83. package/out/zero-protocol/src/protocol-version.d.ts +1 -1
  84. package/out/zero-protocol/src/protocol-version.d.ts.map +1 -1
  85. package/out/zero-protocol/src/protocol-version.js +3 -1
  86. package/out/zero-protocol/src/protocol-version.js.map +1 -1
  87. package/out/zero-protocol/src/up.d.ts +1 -0
  88. package/out/zero-protocol/src/up.d.ts.map +1 -1
  89. package/out/zero-schema/src/builder/table-builder.d.ts.map +1 -1
  90. package/out/zero-schema/src/builder/table-builder.js +6 -1
  91. package/out/zero-schema/src/builder/table-builder.js.map +1 -1
  92. package/out/zero-solid/src/mod.d.ts +2 -2
  93. package/out/zero-solid/src/mod.d.ts.map +1 -1
  94. package/out/zero-solid/src/solid-view.d.ts +8 -6
  95. package/out/zero-solid/src/solid-view.d.ts.map +1 -1
  96. package/out/zero-solid/src/{create-query.d.ts → use-query.d.ts} +7 -7
  97. package/out/zero-solid/src/use-query.d.ts.map +1 -0
  98. package/out/zero-solid/src/use-zero.d.ts +11 -0
  99. package/out/zero-solid/src/use-zero.d.ts.map +1 -0
  100. package/out/zero.js +3 -3
  101. package/out/zql/src/ivm/take.d.ts.map +1 -1
  102. package/out/zql/src/ivm/take.js +6 -0
  103. package/out/zql/src/ivm/take.js.map +1 -1
  104. package/out/zql/src/query/query-impl.d.ts +3 -3
  105. package/out/zql/src/query/query-impl.d.ts.map +1 -1
  106. package/out/zql/src/query/query-impl.js +4 -4
  107. package/out/zql/src/query/query-impl.js.map +1 -1
  108. package/out/zql/src/query/query.d.ts +1 -1
  109. package/out/zql/src/query/ttl.d.ts +4 -0
  110. package/out/zql/src/query/ttl.d.ts.map +1 -1
  111. package/out/zql/src/query/ttl.js +12 -1
  112. package/out/zql/src/query/ttl.js.map +1 -1
  113. package/package.json +3 -3
  114. package/out/chunk-UOYRI2SS.js.map +0 -7
  115. package/out/replicache/src/broadcast-channel.d.ts.map +0 -1
  116. package/out/shared/src/ref-count.d.ts +0 -16
  117. package/out/shared/src/ref-count.d.ts.map +0 -1
  118. package/out/zero-solid/src/create-query.d.ts.map +0 -1
  119. package/out/zero-solid/src/create-zero.d.ts +0 -3
  120. package/out/zero-solid/src/create-zero.d.ts.map +0 -1
  121. /package/out/{chunk-UYT6AWSA.js.map → chunk-ODTJYJ37.js.map} +0 -0
  122. /package/out/{replicache → shared}/src/broadcast-channel.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"names":[],"mappings":"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"}
@@ -146,6 +146,9 @@ const clientStateSchema = v.object({
146
146
  * TTL, time to live in milliseconds. If the query is not updated within this
147
147
  * time. The time to live is the time after it has become inactive. Negative
148
148
  * values are treated as `'forever'`.
149
+ *
150
+ * We do clamp this to a maximum of 10 minutes, so that queries do not
151
+ * live for a very long time in the CVR.
149
152
  */
150
153
  ttl: v.number(),
151
154
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../zero-cache/src/services/view-syncer/schema/types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import type { LogContext } from '@rocicorp/logger';
2
2
  import type { JWTPayload } from 'jose';
3
3
  import type { ChangeDesiredQueriesMessage } from '../../../../zero-protocol/src/change-desired-queries.ts';
4
- import type { CloseConnectionMessage } from '../../../../zero-protocol/src/close-connection.ts';
5
4
  import type { InitConnectionMessage } from '../../../../zero-protocol/src/connect.ts';
6
5
  import type { DeleteClientsMessage } from '../../../../zero-protocol/src/delete-clients.ts';
7
6
  import type { Downstream } from '../../../../zero-protocol/src/down.ts';
8
7
  import type { InspectUpMessage } from '../../../../zero-protocol/src/inspect-up.ts';
8
+ import { type ZeroConfig } from '../../config/zero-config.ts';
9
9
  import type { PostgresDB } from '../../types/pg.ts';
10
10
  import type { ShardID } from '../../types/shards.ts';
11
11
  import type { Source } from '../../types/streams.ts';
@@ -14,7 +14,6 @@ import type { ReplicaState } from '../replicator/replicator.ts';
14
14
  import type { ActivityBasedService } from '../service.ts';
15
15
  import type { DrainCoordinator } from './drain-coordinator.ts';
16
16
  import { PipelineDriver } from './pipeline-driver.ts';
17
- import { type ZeroConfig } from '../../config/zero-config.ts';
18
17
  export type TokenData = {
19
18
  readonly raw: string;
20
19
  readonly decoded: JWTPayload;
@@ -32,13 +31,13 @@ export interface ViewSyncer {
32
31
  initConnection(ctx: SyncContext, msg: InitConnectionMessage): Source<Downstream>;
33
32
  changeDesiredQueries(ctx: SyncContext, msg: ChangeDesiredQueriesMessage): Promise<void>;
34
33
  deleteClients(ctx: SyncContext, msg: DeleteClientsMessage): Promise<void>;
35
- closeConnection(ctx: SyncContext, msg: CloseConnectionMessage): Promise<void>;
36
34
  inspect(context: SyncContext, msg: InspectUpMessage): Promise<void>;
37
35
  }
38
36
  type SetTimeout = (fn: (...args: unknown[]) => void, delay?: number) => ReturnType<typeof setTimeout>;
39
37
  export declare class ViewSyncerService implements ViewSyncer, ActivityBasedService {
40
38
  #private;
41
39
  readonly id: string;
40
+ get ttlClockBase(): number;
42
41
  /**
43
42
  * The {@linkcode maxRowCount} is used for the eviction of inactive queries.
44
43
  * An inactive query is a query that is no longer desired but is kept alive
@@ -65,7 +64,6 @@ export declare class ViewSyncerService implements ViewSyncer, ActivityBasedServi
65
64
  initConnection(ctx: SyncContext, initConnectionMessage: InitConnectionMessage): Source<Downstream>;
66
65
  changeDesiredQueries(ctx: SyncContext, msg: ChangeDesiredQueriesMessage): Promise<void>;
67
66
  deleteClients(ctx: SyncContext, msg: DeleteClientsMessage): Promise<void>;
68
- closeConnection(ctx: SyncContext, msg: CloseConnectionMessage): Promise<void>;
69
67
  inspect(context: SyncContext, msg: InspectUpMessage): Promise<void>;
70
68
  stop(): Promise<void>;
71
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"view-syncer.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/view-syncer.ts"],"names":[],"mappings":"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"}
@@ -4,27 +4,27 @@ import { resolver } from '@rocicorp/resolver';
4
4
  import { manualSpan, startAsyncSpan, startSpan, } from "../../../../otel/src/span.js";
5
5
  import { version } from "../../../../otel/src/version.js";
6
6
  import { assert, unreachable } from "../../../../shared/src/asserts.js";
7
+ import { stringify } from "../../../../shared/src/bigint-json.js";
7
8
  import { CustomKeyMap } from "../../../../shared/src/custom-key-map.js";
8
9
  import { hasOwn } from "../../../../shared/src/has-own.js";
9
10
  import { must } from "../../../../shared/src/must.js";
10
11
  import { randInt } from "../../../../shared/src/rand.js";
11
12
  import { ErrorKind } from "../../../../zero-protocol/src/error-kind.js";
12
13
  import { transformAndHashQuery, } from "../../auth/read-authorizer.js";
14
+ import {} from "../../config/zero-config.js";
15
+ import { CustomQueryTransformer } from "../../custom-queries/transform-query.js";
13
16
  import * as counters from "../../observability/counters.js";
14
17
  import * as histograms from "../../observability/histograms.js";
15
- import { stringify } from "../../../../shared/src/bigint-json.js";
16
18
  import { ErrorForClient, getLogLevel } from "../../types/error-for-client.js";
17
19
  import { rowIDString } from "../../types/row-key.js";
18
20
  import { Subscription } from "../../types/subscription.js";
19
21
  import { ZERO_VERSION_COLUMN_NAME } from "../replicator/schema/replication-state.js";
20
22
  import { ClientHandler, startPoke, } from "./client-handler.js";
21
23
  import { CVRStore } from "./cvr-store.js";
22
- import { CVRConfigDrivenUpdater, CVRQueryDrivenUpdater, getInactiveQueries, nextEvictionTime, } from "./cvr.js";
24
+ import { CVRConfigDrivenUpdater, CVRQueryDrivenUpdater, CVRUpdater, getInactiveQueries, nextEvictionTime, } from "./cvr.js";
23
25
  import { PipelineDriver } from "./pipeline-driver.js";
24
26
  import { cmpVersions, EMPTY_CVR_VERSION, versionFromString, versionString, versionToCookie, } from "./schema/types.js";
25
27
  import { ResetPipelinesSignal } from "./snapshotter.js";
26
- import { CustomQueryTransformer } from "../../custom-queries/transform-query.js";
27
- import {} from "../../config/zero-config.js";
28
28
  const tracer = trace.getTracer('view-syncer', version);
29
29
  const DEFAULT_KEEPALIVE_MS = 5_000;
30
30
  // We have previously said that the goal is to have 20MB on the client.
@@ -33,6 +33,12 @@ const DEFAULT_MAX_ROW_COUNT = 20_000;
33
33
  function randomID() {
34
34
  return randInt(1, Number.MAX_SAFE_INTEGER).toString(36);
35
35
  }
36
+ /**
37
+ * We update the ttlClock in flush that writes to the CVR but
38
+ * some flushes do not write to the CVR and in those cases we
39
+ * use a timer to update the ttlClock every minute.
40
+ */
41
+ const TTL_CLOCK_INTERVAL = 60_000;
36
42
  export class ViewSyncerService {
37
43
  id;
38
44
  #shard;
@@ -50,6 +56,31 @@ export class ViewSyncerService {
50
56
  //
51
57
  // Note: It is fine to update this variable outside of the lock.
52
58
  #lastConnectTime = Date.now();
59
+ /**
60
+ * The TTL clock is used to determine the time at which queries are considered
61
+ * expired.
62
+ */
63
+ #ttlClock = Date.now();
64
+ /**
65
+ * The base time for the TTL clock. This is used to compute the current TTL
66
+ * clock value. The first time a connection is made, this is set to the
67
+ * current time. On subsequent connections, the TTL clock is computed as the
68
+ * difference between the current time and this base time.
69
+ *
70
+ * Every time we write the ttlClock this is update to the current time. That
71
+ * way we can compute how much time has passed since the last time we set the
72
+ * ttlClock. When we set the ttlClock we just increment it by the amount of
73
+ * time that has passed since the last time we set it.
74
+ */
75
+ #ttlClockBase = Date.now();
76
+ get ttlClockBase() {
77
+ return this.#ttlClockBase;
78
+ }
79
+ /**
80
+ * We update the ttlClock every minute to ensure that it is not too much
81
+ * out of sync with the current time.
82
+ */
83
+ #ttlClockInterval = 0;
53
84
  // Note: It is okay to add/remove clients without acquiring the lock.
54
85
  #clients = new Map();
55
86
  // Serialize on this lock for:
@@ -200,7 +231,9 @@ export class ViewSyncerService {
200
231
  }
201
232
  // must be called from within #lock
202
233
  #removeExpiredQueries = async (lc, cvr) => {
203
- if (hasExpiredQueries(cvr)) {
234
+ const now = Date.now();
235
+ const ttlClock = this.#getTTLClock(now);
236
+ if (hasExpiredQueries(cvr, ttlClock)) {
204
237
  lc = lc.withContext('method', '#removeExpiredQueries');
205
238
  lc.info?.('Queries have expired');
206
239
  // #syncQueryPipelineSet() will remove the expired queries.
@@ -266,10 +299,18 @@ export class ViewSyncerService {
266
299
  if (c === client) {
267
300
  this.#clients.delete(clientID);
268
301
  if (this.#clients.size === 0) {
302
+ this.#updateTTLClockInCVRWithoutLock(this.#lc);
303
+ this.#stopExpireTimer();
269
304
  this.#scheduleShutdown();
270
305
  }
271
306
  }
272
307
  }
308
+ #stopExpireTimer() {
309
+ this.#lc.debug?.('Stopping expired queries timer');
310
+ clearTimeout(this.#expiredQueriesTimer);
311
+ this.#expiredQueriesTimer = 0;
312
+ this.#nextExpiredQueryTime = 0;
313
+ }
273
314
  initConnection(ctx, initConnectionMessage) {
274
315
  this.#lc.debug?.('viewSyncer.initConnection');
275
316
  return startSpan(tracer, 'vs.initConnection', () => {
@@ -289,6 +330,22 @@ export class ViewSyncerService {
289
330
  this.#deleteClient(clientID, newClient);
290
331
  },
291
332
  });
333
+ if (this.#clients.size === 0) {
334
+ // First connection to this ViewSyncerService.
335
+ // initConnection must be synchronous so that the downstream
336
+ // subscription is returned immediately.
337
+ const now = Date.now();
338
+ this.#ttlClockBase = now;
339
+ // Get the TTL clock from the CVR store, or initialize it to now.
340
+ this.#cvrStore
341
+ .getTTLClock()
342
+ .then(ttlClock => {
343
+ this.#ttlClock = ttlClock ?? now;
344
+ })
345
+ .catch(e => {
346
+ this.#lc.error?.('failed to get TTL clock', e);
347
+ });
348
+ }
292
349
  const newClient = new ClientHandler(lc, this.id, clientID, wsID, this.#shard, baseCookie, schemaVersion, downstream);
293
350
  this.#clients.get(clientID)?.close(`replaced by wsID: ${wsID}`);
294
351
  this.#clients.set(clientID, newClient);
@@ -312,19 +369,48 @@ export class ViewSyncerService {
312
369
  this.#lc.error?.('deleteClients failed', e);
313
370
  }
314
371
  }
315
- async closeConnection(ctx, msg) {
316
- try {
317
- await this.#runInLockForClient(ctx, [msg[0], { deleted: { clientIDs: [ctx.clientID] } }], this.#handleConfigUpdate);
318
- }
319
- catch (e) {
320
- this.#lc.error?.('closeConnection failed', e);
372
+ #getTTLClock(now) {
373
+ // We will update ttlClock with delta from the ttlClockBase to the current time.
374
+ const delta = now - this.#ttlClockBase;
375
+ const ttlClock = this.#ttlClock + delta;
376
+ this.#ttlClock = ttlClock;
377
+ this.#ttlClockBase = now;
378
+ return ttlClock;
379
+ }
380
+ async #flushUpdater(lc, updater) {
381
+ const now = Date.now();
382
+ const ttlClock = this.#getTTLClock(now);
383
+ const { cvr, flushed } = await updater.flush(lc, this.#lastConnectTime, now, ttlClock);
384
+ if (flushed) {
385
+ // If the CVR was flushed, we restart the ttlClock interval.
386
+ this.#startTTLClockInterval(lc);
321
387
  }
388
+ return cvr;
389
+ }
390
+ #startTTLClockInterval(lc) {
391
+ this.#stopTTLClockInterval();
392
+ this.#ttlClockInterval = this.#setTimeout(() => {
393
+ this.#updateTTLClockInCVRWithoutLock(lc);
394
+ this.#startTTLClockInterval(lc);
395
+ }, TTL_CLOCK_INTERVAL);
396
+ }
397
+ #stopTTLClockInterval() {
398
+ clearTimeout(this.#ttlClockInterval);
399
+ this.#ttlClockInterval = 0;
400
+ }
401
+ #updateTTLClockInCVRWithoutLock(lc) {
402
+ lc.debug?.('Syncing ttlClock');
403
+ const now = Date.now();
404
+ const ttlClock = this.#getTTLClock(now);
405
+ this.#cvrStore.updateTTLClock(ttlClock, now).catch(e => {
406
+ lc.error?.('failed to update TTL clock', e);
407
+ });
322
408
  }
323
409
  async #updateCVRConfig(lc, cvr, clientID, fn) {
324
410
  const updater = new CVRConfigDrivenUpdater(this.#cvrStore, cvr, this.#shard);
325
411
  updater.ensureClient(clientID);
326
412
  const patches = fn(updater);
327
- this.#cvr = (await updater.flush(lc, this.#lastConnectTime)).cvr;
413
+ this.#cvr = await this.#flushUpdater(lc, updater);
328
414
  if (cmpVersions(cvr.version, this.#cvr.version) < 0) {
329
415
  // Send pokes to catch up clients that are up to date.
330
416
  // (Clients that are behind the cvr.version need to be caught up in
@@ -376,7 +462,7 @@ export class ViewSyncerService {
376
462
  lc.warn?.(`Processing ${cmd} before initConnection was received`);
377
463
  }
378
464
  lc.debug?.(cmd, body);
379
- return fn(lc, clientID, cmd, body, cvr);
465
+ return fn(lc, clientID, body, cvr);
380
466
  });
381
467
  }
382
468
  catch (e) {
@@ -403,7 +489,7 @@ export class ViewSyncerService {
403
489
  : clients;
404
490
  }
405
491
  // Must be called from within #lock.
406
- #handleConfigUpdate = (lc, clientID, cmd, { clientSchema, deleted, desiredQueriesPatch }, cvr) => startAsyncSpan(tracer, 'vs.#patchQueries', async () => {
492
+ #handleConfigUpdate = (lc, clientID, { clientSchema, deleted, desiredQueriesPatch, activeClients, }, cvr) => startAsyncSpan(tracer, 'vs.#patchQueries', async () => {
407
493
  const deletedClientIDs = [];
408
494
  const deletedClientGroupIDs = [];
409
495
  cvr = await this.#updateCVRConfig(lc, cvr, clientID, updater => {
@@ -429,20 +515,29 @@ export class ViewSyncerService {
429
515
  }
430
516
  }
431
517
  }
432
- if (deleted?.clientIDs?.length || deleted?.clientGroupIDs?.length) {
433
- if (deleted?.clientIDs) {
434
- for (const cid of deleted.clientIDs) {
435
- if (cmd === 'closeConnection') {
436
- assert(cid === clientID, 'cannot close other clients');
437
- }
438
- else {
439
- assert(cid !== clientID, 'cannot delete self');
440
- }
441
- const patchesDueToClient = updater.deleteClient(cid);
442
- patches.push(...patchesDueToClient);
443
- deletedClientIDs.push(cid);
518
+ const clientIDsToDelete = new Set();
519
+ if (activeClients) {
520
+ // We find all the clients in this client group that are not active.
521
+ const allClientIDs = Object.keys(cvr.clients);
522
+ const activeClientsSet = new Set(activeClients);
523
+ for (const id of allClientIDs) {
524
+ if (!activeClientsSet.has(id)) {
525
+ clientIDsToDelete.add(id);
444
526
  }
445
527
  }
528
+ }
529
+ if (deleted?.clientIDs?.length) {
530
+ for (const cid of deleted.clientIDs) {
531
+ assert(cid !== clientID, 'cannot delete self');
532
+ clientIDsToDelete.add(cid);
533
+ }
534
+ }
535
+ for (const cid of clientIDsToDelete) {
536
+ const patchesDueToClient = updater.deleteClient(cid);
537
+ patches.push(...patchesDueToClient);
538
+ deletedClientIDs.push(cid);
539
+ }
540
+ if (deleted?.clientGroupIDs?.length) {
446
541
  if (deleted?.clientGroupIDs) {
447
542
  for (const clientGroupID of deleted.clientGroupIDs) {
448
543
  assert(clientGroupID !== this.id, 'cannot delete self');
@@ -452,8 +547,9 @@ export class ViewSyncerService {
452
547
  }
453
548
  return patches;
454
549
  });
455
- // Send 'deleteClients' to the clients.
456
- if (deletedClientIDs.length || deletedClientGroupIDs.length) {
550
+ // Send 'deleteClients' ack to the clients.
551
+ if ((deletedClientIDs.length && deleted?.clientIDs?.length) ||
552
+ deletedClientGroupIDs.length) {
457
553
  const clients = this.#getClients();
458
554
  await Promise.allSettled(clients.map(client => client.sendDeleteClients(lc, deletedClientIDs, deletedClientGroupIDs)));
459
555
  }
@@ -466,11 +562,7 @@ export class ViewSyncerService {
466
562
  if (next === undefined) {
467
563
  lc.debug?.('no inactive queries with ttl');
468
564
  // no inactive queries with a ttl. Cancel existing timeout if any.
469
- if (this.#expiredQueriesTimer) {
470
- clearTimeout(this.#expiredQueriesTimer);
471
- this.#expiredQueriesTimer = 0;
472
- this.#nextExpiredQueryTime = 0;
473
- }
565
+ this.#stopExpireTimer();
474
566
  return;
475
567
  }
476
568
  if (this.#nextExpiredQueryTime === next) {
@@ -480,16 +572,17 @@ export class ViewSyncerService {
480
572
  if (this.#expiredQueriesTimer) {
481
573
  clearTimeout(this.#expiredQueriesTimer);
482
574
  }
483
- this.#nextExpiredQueryTime = next;
484
575
  const now = Date.now();
485
- lc.debug?.('Scheduling eviction timer to run in ', next - now, 'ms');
576
+ this.#nextExpiredQueryTime = next;
577
+ const ttlClock = this.#getTTLClock(now);
578
+ lc.debug?.('Scheduling eviction timer to run in ', next - ttlClock, 'ms');
486
579
  this.#expiredQueriesTimer = this.#setTimeout(() => this.#runInLockWithCVR(this.#removeExpiredQueries).catch(e =>
487
580
  // If an error occurs (e.g. ownership change), propagate the error
488
581
  // to the main run() loop via the #stateChanges Subscription.
489
582
  this.#stateChanges.fail(e)),
490
583
  // If the expire time is too far in the future we will run it in an hour.
491
584
  // At that point in time it will be rescheduled as needed again.
492
- Math.min(next - now, 60 * 60 * 1000));
585
+ Math.min(next - ttlClock, 60 * 60 * 1000));
493
586
  }
494
587
  /**
495
588
  * Adds and hydrates pipelines for queries whose results are already
@@ -566,13 +659,12 @@ export class ViewSyncerService {
566
659
  }
567
660
  }
568
661
  for (const { id: hash, transformationHash, transformedAst, } of transformedQueries) {
569
- const start = Date.now();
662
+ const timer = new Timer();
570
663
  let count = 0;
571
664
  await startAsyncSpan(tracer, 'vs.#hydrateUnchangedQueries.addQuery', async (span) => {
572
665
  span.setAttribute('queryHash', hash);
573
666
  span.setAttribute('transformationHash', transformationHash);
574
667
  span.setAttribute('table', transformedAst.table);
575
- const timer = new Timer();
576
668
  for (const _ of this.#pipelines.addQuery(transformationHash, transformedAst, timer.start())) {
577
669
  if (++count % TIME_SLICE_CHECK_SIZE === 0) {
578
670
  if (timer.elapsedLap() > TIME_SLICE_MS) {
@@ -583,7 +675,7 @@ export class ViewSyncerService {
583
675
  }
584
676
  }
585
677
  });
586
- const elapsed = Date.now() - start;
678
+ const elapsed = timer.totalElapsed();
587
679
  counters.queryHydrations().add(1, {
588
680
  clientGroupID: this.id,
589
681
  hash,
@@ -612,6 +704,7 @@ export class ViewSyncerService {
612
704
  // Convert queries to their transformed ast's and hashes
613
705
  const hashToIDs = new Map();
614
706
  const now = Date.now();
707
+ const ttlClock = this.#getTTLClock(now);
615
708
  // group cvr queries into:
616
709
  // 1. custom queries
617
710
  // 2. everything else
@@ -683,7 +776,7 @@ export class ViewSyncerService {
683
776
  id,
684
777
  ast: transformed.transformedAst,
685
778
  transformationHash: transformed.transformationHash,
686
- remove: expired(now, origQuery),
779
+ remove: expired(ttlClock, origQuery),
687
780
  };
688
781
  });
689
782
  const addQueries = serverQueries.filter(q => !q.remove && !hydratedQueries.has(q.transformationHash));
@@ -759,7 +852,7 @@ export class ViewSyncerService {
759
852
  await pokers.addPatch(patch);
760
853
  }
761
854
  // Commit the changes and update the CVR snapshot.
762
- this.#cvr = (await updater.flush(lc, this.#lastConnectTime)).cvr;
855
+ this.#cvr = await this.#flushUpdater(lc, updater);
763
856
  const finalVersion = this.#cvr.version;
764
857
  // Before ending the poke, catch up clients that were behind the old CVR.
765
858
  await this.#catchupClients(lc, cvr, finalVersion, addQueries.map(q => q.id), pokers);
@@ -938,7 +1031,7 @@ export class ViewSyncerService {
938
1031
  throw e;
939
1032
  }
940
1033
  // Commit the changes and update the CVR snapshot.
941
- this.#cvr = (await updater.flush(lc, this.#lastConnectTime)).cvr;
1034
+ this.#cvr = await this.#flushUpdater(lc, updater);
942
1035
  const finalVersion = this.#cvr.version;
943
1036
  // Signal clients to commit.
944
1037
  await pokers.end(finalVersion);
@@ -996,7 +1089,7 @@ export class ViewSyncerService {
996
1089
  return this.#runInLockForClient(context, msg, this.#handleInspect);
997
1090
  }
998
1091
  // eslint-disable-next-line require-await
999
- #handleInspect = async (lc, clientID, _cmd, body, _cvr) => {
1092
+ #handleInspect = async (lc, clientID, body, _cvr) => {
1000
1093
  const client = must(this.#clients.get(clientID));
1001
1094
  body.op;
1002
1095
  client.sendInspectResponse(lc, {
@@ -1011,6 +1104,10 @@ export class ViewSyncerService {
1011
1104
  return this.#stopped.promise;
1012
1105
  }
1013
1106
  #cleanup(err) {
1107
+ this.#stopTTLClockInterval();
1108
+ clearTimeout(this.#expiredQueriesTimer);
1109
+ this.#expiredQueriesTimer = 0;
1110
+ this.#nextExpiredQueryTime = 0;
1014
1111
  this.#pipelines.destroy();
1015
1112
  for (const client of this.#clients.values()) {
1016
1113
  if (err) {
@@ -1109,7 +1206,7 @@ export function pickToken(lc, previousToken, newToken) {
1109
1206
  message: 'No token provided. An unauthenticated client cannot connect to an authenticated client group.',
1110
1207
  });
1111
1208
  }
1112
- function expired(now, q) {
1209
+ function expired(ttlClock, q) {
1113
1210
  if (q.type === 'internal') {
1114
1211
  return false;
1115
1212
  }
@@ -1120,17 +1217,16 @@ function expired(now, q) {
1120
1217
  if (ttl < 0 || inactivatedAt === undefined) {
1121
1218
  return false;
1122
1219
  }
1123
- if (inactivatedAt + ttl > now) {
1220
+ if (inactivatedAt + ttl > ttlClock) {
1124
1221
  return false;
1125
1222
  }
1126
1223
  }
1127
1224
  }
1128
1225
  return true;
1129
1226
  }
1130
- function hasExpiredQueries(cvr) {
1131
- const now = Date.now();
1227
+ function hasExpiredQueries(cvr, ttlClock) {
1132
1228
  for (const q of Object.values(cvr.queries)) {
1133
- if (expired(now, q)) {
1229
+ if (expired(ttlClock, q)) {
1134
1230
  return true;
1135
1231
  }
1136
1232
  }