@rocicorp/zero 0.19.2025040901 → 0.19.2025041100
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/advanced.js +1 -2
- package/out/analyze-query/src/bin-analyze.js +73 -13
- package/out/analyze-query/src/bin-analyze.js.map +1 -1
- package/out/ast-to-zql/src/ast-to-zql.d.ts +1 -1
- package/out/ast-to-zql/src/ast-to-zql.js +2 -2
- package/out/ast-to-zql/src/ast-to-zql.js.map +1 -1
- package/out/{chunk-JW7AJ755.js → chunk-GTRWLUIW.js} +281 -3022
- package/out/chunk-GTRWLUIW.js.map +7 -0
- package/out/chunk-J3DNXL5V.js +2843 -0
- package/out/chunk-J3DNXL5V.js.map +7 -0
- package/out/{chunk-56G3QAI6.js → chunk-N7NOL5CH.js} +38 -41
- package/out/{chunk-56G3QAI6.js.map → chunk-N7NOL5CH.js.map} +2 -2
- package/out/{chunk-2NCGIK6G.js → chunk-SKR5JO2A.js} +21 -1
- package/out/{chunk-2NCGIK6G.js.map → chunk-SKR5JO2A.js.map} +1 -1
- package/out/{inspector-R2AXP2NY.js → inspector-YQC2D2E3.js} +9 -10
- package/out/inspector-YQC2D2E3.js.map +7 -0
- package/out/react.js +20 -9
- package/out/react.js.map +2 -2
- package/out/shared/src/options.d.ts +1 -0
- package/out/shared/src/options.d.ts.map +1 -1
- package/out/shared/src/options.js +12 -10
- package/out/shared/src/options.js.map +1 -1
- package/out/solid.js +31 -22
- package/out/solid.js.map +3 -3
- package/out/zero/src/cli.d.ts +1 -1
- package/out/zero/src/cli.d.ts.map +1 -1
- package/out/zero/src/cli.js +1 -1
- package/out/zero/src/cli.js.map +1 -1
- package/out/zero/src/server/runner/main.d.ts +2 -0
- package/out/zero/src/server/runner/main.d.ts.map +1 -0
- package/out/zero/src/server/runner/main.js +2 -0
- package/out/zero/src/server/runner/main.js.map +1 -0
- package/out/zero/src/zero-cache-dev.d.ts.map +1 -1
- package/out/zero/src/zero-cache-dev.js +1 -1
- package/out/zero/src/zero-cache-dev.js.map +1 -1
- package/out/zero-cache/src/config/zero-config.d.ts +7 -2
- package/out/zero-cache/src/config/zero-config.d.ts.map +1 -1
- package/out/zero-cache/src/config/zero-config.js +20 -4
- package/out/zero-cache/src/config/zero-config.js.map +1 -1
- package/out/zero-cache/src/server/{multi → runner}/config.d.ts +7 -2
- package/out/zero-cache/src/server/runner/config.d.ts.map +1 -0
- package/out/zero-cache/src/server/{multi → runner}/config.js +2 -1
- package/out/zero-cache/src/server/runner/config.js.map +1 -0
- package/out/zero-cache/src/server/runner/main.d.ts.map +1 -0
- package/out/zero-cache/src/server/runner/main.js.map +1 -0
- package/out/zero-cache/src/server/runner/run-worker.d.ts.map +1 -0
- package/out/zero-cache/src/server/{multi → runner}/run-worker.js +27 -17
- package/out/zero-cache/src/server/runner/run-worker.js.map +1 -0
- package/out/zero-cache/src/server/runner/runtime.d.ts.map +1 -0
- package/out/zero-cache/src/server/runner/runtime.js.map +1 -0
- package/out/zero-cache/src/server/{multi/tenant-dispatcher.d.ts → runner/zero-dispatcher.d.ts} +4 -4
- package/out/zero-cache/src/server/runner/zero-dispatcher.d.ts.map +1 -0
- package/out/zero-cache/src/server/{multi/tenant-dispatcher.js → runner/zero-dispatcher.js} +25 -12
- package/out/zero-cache/src/server/runner/zero-dispatcher.js.map +1 -0
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts +10 -1
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.d.ts.map +1 -1
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js +15 -3
- package/out/zero-cache/src/services/dispatcher/websocket-handoff.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts +1 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js +9 -0
- package/out/zero-cache/src/services/view-syncer/pipeline-driver.js.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.d.ts.map +1 -1
- package/out/zero-cache/src/services/view-syncer/view-syncer.js +66 -25
- package/out/zero-cache/src/services/view-syncer/view-syncer.js.map +1 -1
- package/out/zero-pg/src/query.d.ts +0 -2
- package/out/zero-pg/src/query.d.ts.map +1 -1
- package/out/zero-pg/src/query.js +0 -3
- package/out/zero-pg/src/query.js.map +1 -1
- package/out/zero-react/src/use-query.d.ts +3 -1
- package/out/zero-react/src/use-query.d.ts.map +1 -1
- package/out/zero-solid/src/create-query.d.ts +22 -0
- package/out/zero-solid/src/create-query.d.ts.map +1 -0
- package/out/zero-solid/src/mod.d.ts +1 -1
- package/out/zero-solid/src/mod.d.ts.map +1 -1
- package/out/zero-solid/src/solid-view.d.ts +4 -3
- package/out/zero-solid/src/solid-view.d.ts.map +1 -1
- package/out/zero.js +4 -5
- package/out/zql/src/ivm/array-view.d.ts +5 -1
- package/out/zql/src/ivm/array-view.d.ts.map +1 -1
- package/out/zql/src/ivm/array-view.js +8 -1
- package/out/zql/src/ivm/array-view.js.map +1 -1
- package/out/zql/src/ivm/view.d.ts +2 -1
- package/out/zql/src/ivm/view.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.d.ts +5 -5
- package/out/zql/src/query/query-impl.d.ts.map +1 -1
- package/out/zql/src/query/query-impl.js +15 -10
- package/out/zql/src/query/query-impl.js.map +1 -1
- package/out/zql/src/query/query.d.ts +8 -5
- package/out/zql/src/query/query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.d.ts +0 -2
- package/out/zql/src/query/static-query.d.ts.map +1 -1
- package/out/zql/src/query/static-query.js +0 -3
- package/out/zql/src/query/static-query.js.map +1 -1
- package/out/zql/src/query/typed-view.d.ts +2 -0
- package/out/zql/src/query/typed-view.d.ts.map +1 -1
- package/package.json +6 -2
- package/out/chunk-424PT5DM.js +0 -23
- package/out/chunk-424PT5DM.js.map +0 -7
- package/out/chunk-JW7AJ755.js.map +0 -7
- package/out/chunk-MB3DEFRC.js +0 -67
- package/out/chunk-MB3DEFRC.js.map +0 -7
- package/out/inspector-R2AXP2NY.js.map +0 -7
- package/out/zero/src/server/multi/main.d.ts +0 -2
- package/out/zero/src/server/multi/main.d.ts.map +0 -1
- package/out/zero/src/server/multi/main.js +0 -2
- package/out/zero/src/server/multi/main.js.map +0 -1
- package/out/zero-cache/src/server/multi/config.d.ts.map +0 -1
- package/out/zero-cache/src/server/multi/config.js.map +0 -1
- package/out/zero-cache/src/server/multi/main.d.ts.map +0 -1
- package/out/zero-cache/src/server/multi/main.js.map +0 -1
- package/out/zero-cache/src/server/multi/run-worker.d.ts.map +0 -1
- package/out/zero-cache/src/server/multi/run-worker.js.map +0 -1
- package/out/zero-cache/src/server/multi/runtime.d.ts.map +0 -1
- package/out/zero-cache/src/server/multi/runtime.js.map +0 -1
- package/out/zero-cache/src/server/multi/tenant-dispatcher.d.ts.map +0 -1
- package/out/zero-cache/src/server/multi/tenant-dispatcher.js.map +0 -1
- package/out/zero-solid/src/use-query.d.ts +0 -12
- package/out/zero-solid/src/use-query.d.ts.map +0 -1
- /package/out/zero-cache/src/server/{multi → runner}/main.d.ts +0 -0
- /package/out/zero-cache/src/server/{multi → runner}/main.js +0 -0
- /package/out/zero-cache/src/server/{multi → runner}/run-worker.d.ts +0 -0
- /package/out/zero-cache/src/server/{multi → runner}/runtime.d.ts +0 -0
- /package/out/zero-cache/src/server/{multi → runner}/runtime.js +0 -0
|
@@ -1,42 +1,55 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { assert } from "../../../../shared/src/asserts.js";
|
|
2
|
+
import { installWebSocketHandoff, } from "../../services/dispatcher/websocket-handoff.js";
|
|
2
3
|
import { HttpService } from "../../services/http-service.js";
|
|
3
|
-
export class
|
|
4
|
-
id = '
|
|
4
|
+
export class ZeroDispatcher extends HttpService {
|
|
5
|
+
id = 'zero-dispatcher';
|
|
5
6
|
#tenants;
|
|
6
7
|
#runAsReplicationManager;
|
|
7
8
|
constructor(lc, runAsReplicationManager, tenants, opts) {
|
|
8
|
-
super('
|
|
9
|
-
installWebSocketHandoff(lc,
|
|
9
|
+
super('zero-dispatcher', lc, opts, fastify => {
|
|
10
|
+
installWebSocketHandoff(lc, this.#handoff, fastify.server);
|
|
10
11
|
});
|
|
11
12
|
this.#runAsReplicationManager = runAsReplicationManager;
|
|
12
13
|
this.#tenants = tenants.filter(
|
|
13
14
|
// Only tenants with a host or path can be dispatched to
|
|
14
|
-
// in the view-syncer
|
|
15
|
-
|
|
15
|
+
// in the view-syncer (with the exception of the single tenant
|
|
16
|
+
// case, signified by the empty id).
|
|
17
|
+
t => runAsReplicationManager || t.host || t.path || t.id.length === 0);
|
|
16
18
|
}
|
|
17
|
-
#handoff(req) {
|
|
19
|
+
#handoff = (req, dispatch, onError) => {
|
|
20
|
+
const t = this.#getTenant(req);
|
|
21
|
+
void t
|
|
22
|
+
.getWorker()
|
|
23
|
+
.then(receiver => dispatch({ payload: t.id, receiver }), onError);
|
|
24
|
+
};
|
|
25
|
+
#getTenant(req) {
|
|
18
26
|
const { headers, url: u } = req;
|
|
19
27
|
const host = headers.host?.toLowerCase();
|
|
20
28
|
const { pathname } = new URL(u ?? '', `http://${host}/`);
|
|
21
29
|
for (const t of this.#tenants) {
|
|
30
|
+
if (t.id.length === 0) {
|
|
31
|
+
// sole tenant
|
|
32
|
+
assert(this.#tenants.length === 1);
|
|
33
|
+
return t;
|
|
34
|
+
}
|
|
22
35
|
if (this.#runAsReplicationManager) {
|
|
23
36
|
// The replication-manager dispatches internally using the
|
|
24
37
|
// tenant ID as the first path component
|
|
25
38
|
if (pathname.startsWith('/' + t.id + '/')) {
|
|
26
|
-
return
|
|
39
|
+
return t;
|
|
27
40
|
}
|
|
28
41
|
continue;
|
|
29
42
|
}
|
|
30
43
|
if (t.host && t.host !== host) {
|
|
31
44
|
continue;
|
|
32
45
|
}
|
|
33
|
-
if (t.path &&
|
|
46
|
+
if (t.path && !pathname.startsWith(t.path)) {
|
|
34
47
|
continue;
|
|
35
48
|
}
|
|
36
49
|
this._lc.debug?.(`connecting ${host}${pathname} to ${t.id}`);
|
|
37
|
-
return
|
|
50
|
+
return t;
|
|
38
51
|
}
|
|
39
52
|
throw new Error(`no matching tenant for: ${host}${pathname}`);
|
|
40
53
|
}
|
|
41
54
|
}
|
|
42
|
-
//# sourceMappingURL=
|
|
55
|
+
//# sourceMappingURL=zero-dispatcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zero-dispatcher.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/server/runner/zero-dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,19 @@ import { Server } from 'node:http';
|
|
|
3
3
|
import { WebSocketServer, type WebSocket } from 'ws';
|
|
4
4
|
import { type IncomingMessageSubset } from '../../types/http.ts';
|
|
5
5
|
import { type Receiver, type Sender, type Worker } from '../../types/processes.ts';
|
|
6
|
-
export type
|
|
6
|
+
export type HandoffSpec<P> = {
|
|
7
7
|
payload: P;
|
|
8
8
|
receiver: Receiver;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* The WebSocketHandoff is a function that either returns the payload and
|
|
12
|
+
* receiver, or invokes the specified `callback` with the payload and
|
|
13
|
+
* receiver. It must not do both.
|
|
14
|
+
*
|
|
15
|
+
* Similarly, an error can be handled by throwing synchronously from the
|
|
16
|
+
* function, or invoking the `onerror` callback.
|
|
17
|
+
*/
|
|
18
|
+
export type WebSocketHandoff<P> = (message: IncomingMessageSubset, callback: (h: HandoffSpec<P>) => void, onerror: (reason: unknown) => void) => HandoffSpec<P> | void;
|
|
10
19
|
export type WebSocketReceiver<P> = (ws: WebSocket, payload: P) => void;
|
|
11
20
|
/**
|
|
12
21
|
* Installs websocket handoff logic from either an http.Server
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-handoff.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAkB,MAAM,EAAC,MAAM,WAAW,CAAC;AAElD,OAAO,EAAC,eAAe,EAAE,KAAK,SAAS,EAAC,MAAM,IAAI,CAAC;AAEnD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,KAAK,QAAQ,EACb,KAAK,MAAM,EACX,KAAK,MAAM,EACZ,MAAM,0BAA0B,CAAC;AAGlC,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC3B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAChC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACrC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,KAC/B,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;AAE3B,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC;AAEvE;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAC5B,MAAM,EAAE,MAAM,GAAG,MAAM,QAyDxB;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAC7B,MAAM,EAAE,MAAM,QAWf"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IncomingMessage, Server } from 'node:http';
|
|
2
2
|
import { Socket } from 'node:net';
|
|
3
3
|
import { WebSocketServer } from 'ws';
|
|
4
|
+
import { assert } from "../../../../shared/src/asserts.js";
|
|
4
5
|
import { serializableSubset, } from "../../types/http.js";
|
|
5
6
|
import { MESSAGE_TYPES, } from "../../types/processes.js";
|
|
6
7
|
import { closeWithError, PROTOCOL_ERROR } from "../../types/ws.js";
|
|
@@ -12,8 +13,10 @@ import { closeWithError, PROTOCOL_ERROR } from "../../types/ws.js";
|
|
|
12
13
|
export function installWebSocketHandoff(lc, handoff, source) {
|
|
13
14
|
const wss = new WebSocketServer({ noServer: true });
|
|
14
15
|
const handle = (message, socket, head) => {
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
let sent = false;
|
|
17
|
+
function send({ payload, receiver }) {
|
|
18
|
+
assert(!sent, 'Handoff callback already invoked');
|
|
19
|
+
sent = true;
|
|
17
20
|
const data = [
|
|
18
21
|
'handoff',
|
|
19
22
|
{
|
|
@@ -26,12 +29,21 @@ export function installWebSocketHandoff(lc, handoff, source) {
|
|
|
26
29
|
// https://nodejs.org/api/http.html#event-upgrade
|
|
27
30
|
receiver.send(data, socket);
|
|
28
31
|
}
|
|
29
|
-
|
|
32
|
+
function onError(error) {
|
|
30
33
|
// Returning an error on the HTTP handshake looks like a hanging connection
|
|
31
34
|
// (at least from Chrome) and doesn't report any meaningful error in the browser.
|
|
32
35
|
// Instead, finish the upgrade to a websocket and then close it with an error.
|
|
33
36
|
wss.handleUpgrade(message, socket, head, ws => closeWithError(lc, ws, error, PROTOCOL_ERROR));
|
|
34
37
|
}
|
|
38
|
+
try {
|
|
39
|
+
const spec = handoff(message, send, onError);
|
|
40
|
+
if (spec) {
|
|
41
|
+
send(spec);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
onError(error);
|
|
46
|
+
}
|
|
35
47
|
};
|
|
36
48
|
if (source instanceof Server) {
|
|
37
49
|
// handoff messages from an HTTP server
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAE,MAAM,EAAC,MAAM,WAAW,CAAC;AAClD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,eAAe,EAAiB,MAAM,IAAI,CAAC;AACnD,OAAO,EACL,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,GAId,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,cAAc,EAAE,cAAc,EAAC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"websocket-handoff.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/dispatcher/websocket-handoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,6 +94,7 @@ export declare class PipelineDriver {
|
|
|
94
94
|
* @return The rows from the initial hydration of the query.
|
|
95
95
|
*/
|
|
96
96
|
addQuery(hash: string, query: AST): Iterable<RowChange>;
|
|
97
|
+
setHydrationTime(hash: string, hydrationTimeMs: number): void;
|
|
97
98
|
/**
|
|
98
99
|
* Removes the pipeline for the query. This is a no-op if the query
|
|
99
100
|
* was not added.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,sCAAsC,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACjF,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uCAAuC,CAAC;AAa/D,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,gCAAgC,CAAC;AACxC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,6BAA6B,CAAC;AAG3D,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,uBAAuB,CAAC;AAGnD,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAEhE,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AAOrD;;GAEG;AACH,qBAAa,cAAc;;gBAgBvB,EAAE,EAAE,UAAU,EACd,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,kBAAkB,EAC3B,aAAa,EAAE,MAAM;IAUvB;;;;;OAKG;IACH,IAAI,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAmBtC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB,mFAAmF;IACnF,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAKxB;;;;OAIG;IACH,qBAAqB,IAAI,cAAc;IAKvC;;OAEG;IACH,kBAAkB,IAAI,iBAAiB,GAAG,IAAI;IAkB9C,kBAAkB,IAAI,MAAM;IAQ5B;;;;OAIG;IACH,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAsBvC;;;OAGG;IACH,OAAO;IAKP,6DAA6D;IAC7D,YAAY,IAAI,GAAG,CAAC,MAAM,CAAC;IAI3B,oBAAoB,IAAI,MAAM;IAQ9B;;;;;;;;;;;OAWG;IACF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"pipeline-driver.d.ts","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -197,8 +197,17 @@ export class PipelineDriver {
|
|
|
197
197
|
}
|
|
198
198
|
runtimeDebugStats.resetRowsVended(this.#clientGroupID);
|
|
199
199
|
}
|
|
200
|
+
// Note: This hydrationTime is a wall-clock overestimate, as it does
|
|
201
|
+
// not take time slicing into account. The view-syncer resets this
|
|
202
|
+
// to a more precise processing-time measurement with setHydrationTime().
|
|
200
203
|
this.#pipelines.set(hash, { input, hydrationTimeMs });
|
|
201
204
|
}
|
|
205
|
+
setHydrationTime(hash, hydrationTimeMs) {
|
|
206
|
+
const p = this.#pipelines.get(hash);
|
|
207
|
+
if (p) {
|
|
208
|
+
this.#pipelines.set(hash, { ...p, hydrationTimeMs });
|
|
209
|
+
}
|
|
210
|
+
}
|
|
202
211
|
/**
|
|
203
212
|
* Removes the pipeline for the query. This is a no-op if the query
|
|
204
213
|
* was not added.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,WAAW,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAC,SAAS,EAAiB,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,IAAI,EAAC,MAAM,gCAAgC,CAAC;AAKpD,OAAO,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;AAMrE,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,wCAAwC,CAAC;AACnE,OAAO,EACL,0BAA0B,GAE3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAKxD,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAC,WAAW,EAAoB,MAAM,kBAAkB,CAAC;AAiChE;;GAEG;AACH,MAAM,OAAO,cAAc;IAChB,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAEzC,GAAG,CAAa;IAChB,YAAY,CAAc;IAC1B,QAAQ,CAAqB;IAC7B,QAAQ,CAAU;IAClB,cAAc,CAAS;IACvB,UAAU,CAAY;IACtB,WAAW,GAAG,IAAI,GAAG,EAA0B,CAAC;IACzD,SAAS,GAAoB,IAAI,CAAC;IAClC,eAAe,GAAkB,IAAI,CAAC;IACtC,YAAY,GAA6B,IAAI,CAAC;IAE9C,YACE,EAAc,EACd,SAAoB,EACpB,WAAwB,EACxB,OAAgB,EAChB,OAA2B,EAC3B,aAAqB;QAErB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,YAAiC;QACpC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAEhE,MAAM,EAAC,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,CACf,IAAI,CAAC,QAAQ,EACb,YAAY,EACZ,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;QAED,MAAM,EAAC,cAAc,EAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC;IAED,mFAAmF;IACnF,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,qBAAqB;QACnB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,cAAc,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,0BAA0B,CACpC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,EAAE,EAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EACnB,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CACd,sBAAsB,EACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAClC,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,kBAAkB;QAChB,MAAM,EAAC,EAAE,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC,IAAI,CAAC;QAClE,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAiC;QACrC,KAAK,MAAM,EAAC,KAAK,EAAC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,MAAM,EAAC,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyB,CAAC;QACpD,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAC/D,IAAI,YAAY,EAAE,CAAC;YACjB,iBAAiB,CACf,IAAI,CAAC,QAAQ,EACb,YAAY,EACZ,IAAI,CAAC,WAAW,EAChB,UAAU,CACX,CAAC;QACJ,CAAC;QACD,MAAM,EAAC,cAAc,EAAC,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;IAED,6DAA6D;IAC7D,YAAY;QACV,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,oBAAoB;QAClB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,QAAQ,CAAC,eAAe,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;;OAWG;IACH,CAAC,QAAQ,CAAC,IAAY,EAAE,KAAU;QAChC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE;YACjC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;YAC1C,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK;YAC7B,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG;SACnB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACjC,KAAK,CAAC,SAAS,CAAC;YACd,IAAI,EAAE,MAAM,CAAC,EAAE;gBACb,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBAChC,MAAM,CAAC,QAAQ,EAAE,kDAAkD,CAAC,CAAC;gBACrE,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;YAC9C,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACtC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,CACxD,IAAI,EACJ,MAAM,EACN,MAAM,CAAC,GAAG,CAAC,CACZ,CAAC;QACF,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QAEzB,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAC3C,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC;YACtC,IAAI,eAAe,GAAG,GAAG,EAAE,CAAC;gBAC1B,IAAI,mBAAmB,GAAG,CAAC,CAAC;gBAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG;qBAChB,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC;qBACzB,WAAW,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;gBACnD,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC5C,MAAM,OAAO,GAAG;wBACd,GAAG,CAAC,iBAAiB;6BAClB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC;4BACnC,EAAE,GAAG,CAAC,SAAS,CAAC;4BAChB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;qBACrB,CAAC;oBACF,mBAAmB,IAAI,OAAO,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,EAC9B,CAAC,CACF,CAAC;oBACF,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC9C,CAAC;gBACD,EAAE,CAAC,IAAI,EAAE,CAAC,0BAA0B,mBAAmB,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,eAAe,EAAC,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7B,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QAC3B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAa,EAAE,EAAU;QAC9B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,qBAAqB,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC,MAAM,CAAC,EAAS,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,OAAO;QAKL,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,OAAO,KAAK,OAAO,UAAU,CAAC,CAAC;QAE3E,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,OAAO;YACnB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,CAAC,QAAQ,CAAC,IAAkB;QAC1B,KAAK,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,IAAI,IAAI,EAAE,CAAC;YACzD,IAAI,SAAS,IAAI,SAAS,EAAE,CAAC;gBAC3B,uEAAuE;gBACvE,8DAA8D;gBAC9D,mEAAmE;gBACnE,MAAM,EAAC,QAAQ,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/D,IACE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;oBAC9C,SAAS,CACP,SAAS,CAAC,QAAQ,EAAE,SAAgB,CAAc,EAClD,SAAS,CAAC,QAAQ,EAAE,SAAgB,CAAc,CACnD,EACD,CAAC;oBACD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;wBACvB,IAAI,EAAE,MAAM;wBACZ,GAAG,EAAE,SAAgB;wBACrB,MAAM,EAAE,SAAgB;qBACzB,CAAC,CAAC;oBACH,SAAS;gBACX,CAAC;gBACD,wDAAwD;gBACxD,oEAAoE;YACtE,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAgB,EAAC,CAAC,CAAC;YACpE,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,SAAgB,EAAC,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,4CAA4C;QAC5C,MAAM,EAAC,IAAI,EAAC,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,+CAA+C;IAC/C,UAAU,CAAC,SAAiB;QAC1B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,UAAU,SAAS,oBAAoB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;iBAChE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;iBAC9D,IAAI,EAAE,IAAI;gBACX,iEAAiE,CACpE,CAAC;QACJ,CAAC;QACD,MAAM,EAAC,UAAU,EAAC,GAAG,SAAS,CAAC,SAAS,CAAC;QACzC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAE3B,MAAM,EAAC,EAAE,EAAC,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,GAAG,IAAI,WAAW,CACtB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,cAAc,EACnB,EAAE,CAAC,EAAE,EACL,SAAS,EACT,SAAS,CAAC,OAAO,EACjB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACxC,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mDAAmD;IACnD,cAAc;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IACvC,CAAC;IAED,CAAC,KAAK,CAAC,KAAa,EAAE,MAAoB;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,KAAK,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,CAAC;YACzC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED,kBAAkB;QAChB,MAAM,CAAC,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB;QACf,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED,MAAM,QAAQ;IACZ,WAAW,CAA8B;IAEzC,YAAY,UAAuC;QACjD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAChC,CAAC;IAEQ,QAAQ,GAIX,EAAE,CAAC;IAET,UAAU,CACR,IAAY,EACZ,MAAoB,EACpB,OAAyB;QAEzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,MAAM;QACL,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpD,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,CAAC,cAAc,CACb,SAAiB,EACjB,MAAoB,EACpB,OAAyB;QAEzB,kDAAkD;QAClD,wBAAwB;QACxB,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC;YAEtB,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,KAAK,CAAC;gBACX,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACd,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;oBACjE,MAAM;gBACR,CAAC;gBACD,KAAK,OAAO,CAAC,CAAC,CAAC;oBACb,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC;oBACvB,MAAM,WAAW,GAAG,IAAI,CACtB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAC7C,CAAC;oBAEF,KAAK,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACnE,MAAM;gBACR,CAAC;gBACD,KAAK,MAAM;oBACT,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;wBAChD,EAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAC;qBAC1C,CAAC,CAAC;oBACH,MAAM;gBACR;oBACE,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;IACH,CAAC;IAED,CAAC,YAAY,CACX,SAAiB,EACjB,MAAoB,EACpB,EAA6B,EAC7B,KAAqB;QAErB,MAAM,EAAC,SAAS,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;QAE1C,sEAAsE;QACtE,uEAAuE;QACvE,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QAExE,kDAAkD;QAClD,wBAAwB;QACxB,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,EAAC,aAAa,EAAE,GAAG,EAAC,GAAG,IAAI,CAAC;YAClC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAE1C,MAAM;gBACJ,IAAI,EAAE,EAAE;gBACR,SAAS;gBACT,KAAK;gBACL,MAAM;gBACN,GAAG,EAAE,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;aAC1B,CAAC;YAEf,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBACrE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC7D,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAqB;IACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAgB,EAAE,GAAQ;IAC3C,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"}
|
|
1
|
+
{"version":3,"file":"pipeline-driver.js","sourceRoot":"","sources":["../../../../../../zero-cache/src/services/view-syncer/pipeline-driver.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -151,7 +151,7 @@ export class ViewSyncerService {
|
|
|
151
151
|
}
|
|
152
152
|
// stateVersion is at or beyond CVR version for the first time.
|
|
153
153
|
lc.info?.(`init pipelines@${version} (cvr@${cvrVer})`);
|
|
154
|
-
this.#hydrateUnchangedQueries(lc, cvr);
|
|
154
|
+
await this.#hydrateUnchangedQueries(lc, cvr);
|
|
155
155
|
await this.#syncQueryPipelineSet(lc, cvr);
|
|
156
156
|
this.#pipelinesSynced = true;
|
|
157
157
|
});
|
|
@@ -476,7 +476,7 @@ export class ViewSyncerService {
|
|
|
476
476
|
*
|
|
477
477
|
* This must be called from within the #lock.
|
|
478
478
|
*/
|
|
479
|
-
#hydrateUnchangedQueries(lc, cvr) {
|
|
479
|
+
async #hydrateUnchangedQueries(lc, cvr) {
|
|
480
480
|
assert(this.#pipelines.initialized());
|
|
481
481
|
const dbVersion = this.#pipelines.currentVersion();
|
|
482
482
|
const cvrVersion = cvr.version;
|
|
@@ -499,13 +499,21 @@ export class ViewSyncerService {
|
|
|
499
499
|
}
|
|
500
500
|
const start = Date.now();
|
|
501
501
|
let count = 0;
|
|
502
|
-
|
|
502
|
+
await startAsyncSpan(tracer, 'vs.#hydrateUnchangedQueries.addQuery', async (span) => {
|
|
503
503
|
span.setAttribute('queryHash', hash);
|
|
504
504
|
span.setAttribute('transformationHash', transformationHash);
|
|
505
505
|
span.setAttribute('table', ast.table);
|
|
506
|
+
const timer = new Timer().start();
|
|
506
507
|
for (const _ of this.#pipelines.addQuery(transformationHash, transformedAst)) {
|
|
507
|
-
count
|
|
508
|
+
if (++count % TIME_SLICE_CHECK_SIZE === 0) {
|
|
509
|
+
if (timer.elapsedLap() > TIME_SLICE_MS) {
|
|
510
|
+
timer.stopLap();
|
|
511
|
+
await yieldProcess(this.#setTimeout);
|
|
512
|
+
timer.startLap();
|
|
513
|
+
}
|
|
514
|
+
}
|
|
508
515
|
}
|
|
516
|
+
this.#pipelines.setHydrationTime(transformationHash, timer.stop());
|
|
509
517
|
});
|
|
510
518
|
const elapsed = Date.now() - start;
|
|
511
519
|
lc.debug?.(`hydrated ${count} rows for ${hash} (${elapsed} ms)`);
|
|
@@ -590,6 +598,8 @@ export class ViewSyncerService {
|
|
|
590
598
|
for (const hash of unhydrateQueries) {
|
|
591
599
|
this.#pipelines.removeQuery(hash);
|
|
592
600
|
}
|
|
601
|
+
let totalProcessTime = 0;
|
|
602
|
+
const timer = new Timer();
|
|
593
603
|
const pipelines = this.#pipelines;
|
|
594
604
|
function* generateRowChanges(slowHydrateThreshold) {
|
|
595
605
|
for (const q of addQueries) {
|
|
@@ -597,13 +607,15 @@ export class ViewSyncerService {
|
|
|
597
607
|
.withContext('hash', q.id)
|
|
598
608
|
.withContext('transformationHash', q.transformationHash);
|
|
599
609
|
lc.debug?.(`adding pipeline for query`, q.ast);
|
|
600
|
-
|
|
610
|
+
timer.start();
|
|
601
611
|
yield* pipelines.addQuery(q.transformationHash, q.ast);
|
|
602
|
-
const
|
|
603
|
-
|
|
604
|
-
|
|
612
|
+
const elapsed = timer.stop();
|
|
613
|
+
pipelines.setHydrationTime(q.transformationHash, elapsed);
|
|
614
|
+
totalProcessTime += elapsed;
|
|
615
|
+
if (elapsed > slowHydrateThreshold) {
|
|
616
|
+
lc.warn?.('Slow query materialization', elapsed, q.ast);
|
|
605
617
|
}
|
|
606
|
-
manualSpan(tracer, 'vs.addAndConsumeQuery',
|
|
618
|
+
manualSpan(tracer, 'vs.addAndConsumeQuery', elapsed, {
|
|
607
619
|
hash: q.id,
|
|
608
620
|
transformationHash: q.transformationHash,
|
|
609
621
|
});
|
|
@@ -611,7 +623,7 @@ export class ViewSyncerService {
|
|
|
611
623
|
}
|
|
612
624
|
// #processChanges does batched de-duping of rows. Wrap all pipelines in
|
|
613
625
|
// a single generator in order to maximize de-duping.
|
|
614
|
-
|
|
626
|
+
await this.#processChanges(lc, timer, generateRowChanges(this.#slowHydrateThreshold), updater, pokers, hashToIDs);
|
|
615
627
|
for (const patch of await updater.deleteUnreferencedRows(lc)) {
|
|
616
628
|
await pokers.addPatch(patch);
|
|
617
629
|
}
|
|
@@ -623,7 +635,7 @@ export class ViewSyncerService {
|
|
|
623
635
|
// Signal clients to commit.
|
|
624
636
|
await pokers.end(finalVersion);
|
|
625
637
|
const wallTime = Date.now() - start;
|
|
626
|
-
lc.info?.(`finished processing queries (process: ${
|
|
638
|
+
lc.info?.(`finished processing queries (process: ${totalProcessTime} ms, wall: ${wallTime} ms)`);
|
|
627
639
|
});
|
|
628
640
|
}
|
|
629
641
|
/**
|
|
@@ -694,18 +706,15 @@ export class ViewSyncerService {
|
|
|
694
706
|
}
|
|
695
707
|
});
|
|
696
708
|
}
|
|
697
|
-
|
|
698
|
-
#processChanges(lc, changes, updater, pokers, hashToIDs) {
|
|
709
|
+
#processChanges(lc, timer, changes, updater, pokers, hashToIDs) {
|
|
699
710
|
return startAsyncSpan(tracer, 'vs.#processChanges', async () => {
|
|
700
711
|
const start = Date.now();
|
|
701
|
-
let lapStart = start;
|
|
702
|
-
let totalProcessingTime = 0;
|
|
703
712
|
const rows = new CustomKeyMap(rowIDString);
|
|
704
713
|
let total = 0;
|
|
705
714
|
const processBatch = () => startAsyncSpan(tracer, 'processBatch', async () => {
|
|
706
|
-
const
|
|
715
|
+
const wallElapsed = Date.now() - start;
|
|
707
716
|
total += rows.size;
|
|
708
|
-
lc.debug?.(`processing ${rows.size} (of ${total}) rows (${
|
|
717
|
+
lc.debug?.(`processing ${rows.size} (of ${total}) rows (${wallElapsed} ms)`);
|
|
709
718
|
const patches = await updater.received(lc, rows);
|
|
710
719
|
for (const patch of patches) {
|
|
711
720
|
await pokers.addPatch(patch);
|
|
@@ -749,11 +758,10 @@ export class ViewSyncerService {
|
|
|
749
758
|
await processBatch();
|
|
750
759
|
}
|
|
751
760
|
if (rows.size % TIME_SLICE_CHECK_SIZE === 0) {
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
totalProcessingTime += elapsed;
|
|
761
|
+
if (timer.elapsedLap() > TIME_SLICE_MS) {
|
|
762
|
+
timer.stopLap();
|
|
755
763
|
await yieldProcess(this.#setTimeout);
|
|
756
|
-
|
|
764
|
+
timer.startLap();
|
|
757
765
|
}
|
|
758
766
|
}
|
|
759
767
|
}
|
|
@@ -762,9 +770,6 @@ export class ViewSyncerService {
|
|
|
762
770
|
}
|
|
763
771
|
span.setAttribute('totalRows', total);
|
|
764
772
|
});
|
|
765
|
-
// Add the time for the last lap.
|
|
766
|
-
totalProcessingTime += Date.now() - lapStart;
|
|
767
|
-
return totalProcessingTime;
|
|
768
773
|
});
|
|
769
774
|
}
|
|
770
775
|
/**
|
|
@@ -790,7 +795,7 @@ export class ViewSyncerService {
|
|
|
790
795
|
lc.debug?.(`applying ${numChanges} to advance to ${version}`);
|
|
791
796
|
const hashToIDs = createHashToIDs(cvr);
|
|
792
797
|
try {
|
|
793
|
-
await this.#processChanges(lc, changes, updater, pokers, hashToIDs);
|
|
798
|
+
await this.#processChanges(lc, new Timer().start(), changes, updater, pokers, hashToIDs);
|
|
794
799
|
}
|
|
795
800
|
catch (e) {
|
|
796
801
|
if (e instanceof ResetPipelinesSignal) {
|
|
@@ -991,4 +996,40 @@ function hasExpiredQueries(cvr) {
|
|
|
991
996
|
}
|
|
992
997
|
return false;
|
|
993
998
|
}
|
|
999
|
+
class Timer {
|
|
1000
|
+
#total = 0;
|
|
1001
|
+
#start = 0;
|
|
1002
|
+
start() {
|
|
1003
|
+
this.#total = 0;
|
|
1004
|
+
this.startLap();
|
|
1005
|
+
return this;
|
|
1006
|
+
}
|
|
1007
|
+
startLap() {
|
|
1008
|
+
assert(this.#start === 0, 'already running');
|
|
1009
|
+
this.#start = performance.now();
|
|
1010
|
+
}
|
|
1011
|
+
elapsedLap() {
|
|
1012
|
+
assert(this.#start !== 0, 'not running');
|
|
1013
|
+
return performance.now() - this.#start;
|
|
1014
|
+
}
|
|
1015
|
+
stopLap() {
|
|
1016
|
+
assert(this.#start !== 0, 'not running');
|
|
1017
|
+
this.#total += performance.now() - this.#start;
|
|
1018
|
+
this.#start = 0;
|
|
1019
|
+
}
|
|
1020
|
+
/** @returns the total elapsed time */
|
|
1021
|
+
stop() {
|
|
1022
|
+
this.stopLap();
|
|
1023
|
+
return this.#total;
|
|
1024
|
+
}
|
|
1025
|
+
/**
|
|
1026
|
+
* @returns the elapsed time. This can be called while the Timer is running
|
|
1027
|
+
* or after it has been stopped.
|
|
1028
|
+
*/
|
|
1029
|
+
totalElapsed() {
|
|
1030
|
+
return this.#start === 0
|
|
1031
|
+
? this.#total
|
|
1032
|
+
: this.#total + performance.now() - this.#start;
|
|
1033
|
+
}
|
|
1034
|
+
}
|
|
994
1035
|
//# sourceMappingURL=view-syncer.js.map
|