@peerbit/log 6.0.34 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=native-graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-graph.d.ts","sourceRoot":"","sources":["../../benchmark/native-graph.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ import { AnyBlockStore } from "@peerbit/blocks";
2
+ import { Ed25519Keypair } from "@peerbit/crypto";
3
+ import { HashmapIndices } from "@peerbit/indexer-simple";
4
+ import { Log } from "../src/log.js";
5
+ const entries = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_ENTRIES ?? 1_000);
6
+ const iterations = Number(process.env.PEERBIT_LOG_NATIVE_GRAPH_ITERATIONS ?? 1_000);
7
+ const key = await Ed25519Keypair.create();
8
+ const createHeadsLog = async (nativeGraph) => {
9
+ const store = new AnyBlockStore();
10
+ await store.start();
11
+ const log = new Log();
12
+ await log.open(store, key, {
13
+ appendDurability: "strict",
14
+ indexer: new HashmapIndices(),
15
+ nativeGraph,
16
+ });
17
+ for (let i = 0; i < entries; i++) {
18
+ await log.append(new Uint8Array([i & 0xff]), { meta: { next: [] } });
19
+ }
20
+ return { log, store };
21
+ };
22
+ const createChainLog = async (nativeGraph) => {
23
+ const store = new AnyBlockStore();
24
+ await store.start();
25
+ const log = new Log();
26
+ await log.open(store, key, {
27
+ appendDurability: "strict",
28
+ indexer: new HashmapIndices(),
29
+ nativeGraph,
30
+ });
31
+ const root = (await log.append(new Uint8Array([0]), { meta: { next: [] } }))
32
+ .entry;
33
+ let previous = root;
34
+ for (let i = 1; i < entries; i++) {
35
+ previous = (await log.append(new Uint8Array([i & 0xff]), {
36
+ meta: { next: [previous] },
37
+ })).entry;
38
+ }
39
+ return { log, rootHash: root.hash, store };
40
+ };
41
+ const measure = async (name, nativeGraph, fn) => {
42
+ const started = performance.now();
43
+ for (let i = 0; i < iterations; i++) {
44
+ await fn();
45
+ }
46
+ const elapsed = performance.now() - started;
47
+ return {
48
+ name,
49
+ nativeGraph,
50
+ entries,
51
+ iterations,
52
+ elapsedMs: Math.round(elapsed),
53
+ opsPerSecond: Math.round((iterations / elapsed) * 1000),
54
+ };
55
+ };
56
+ const rows = [];
57
+ for (const nativeGraph of [false, true]) {
58
+ const { log, store } = await createHeadsLog(nativeGraph);
59
+ rows.push(await measure("getHeads().all()", nativeGraph, async () => {
60
+ await log.getHeads().all();
61
+ }));
62
+ await log.close();
63
+ await store.stop();
64
+ }
65
+ for (const nativeGraph of [false, true]) {
66
+ const { log, rootHash, store } = await createChainLog(nativeGraph);
67
+ rows.push(await measure("countHasNext(root)", nativeGraph, async () => {
68
+ await log.entryIndex.countHasNext(rootHash);
69
+ }));
70
+ await log.close();
71
+ await store.stop();
72
+ }
73
+ console.table(rows);
74
+ //# sourceMappingURL=native-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-graph.js","sourceRoot":"","sources":["../../benchmark/native-graph.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,28 @@ export type ResultsIterator<T> = {
11
11
  done: () => boolean | undefined;
12
12
  all(): T[] | Promise<T[]>;
13
13
  };
14
+ type NativeLogEntry = {
15
+ hash: string;
16
+ gid: string;
17
+ next: string[];
18
+ type: number;
19
+ head?: boolean;
20
+ payloadSize?: number;
21
+ clock: {
22
+ timestamp: {
23
+ wallTime: bigint | number | string;
24
+ logical?: number;
25
+ };
26
+ };
27
+ };
28
+ export type NativeLogGraph = {
29
+ put: (entry: NativeLogEntry) => void;
30
+ delete: (hash: string) => boolean;
31
+ clear: () => void;
32
+ heads: (gid?: string) => string[];
33
+ countHasNext: (next: string, excludeHash?: string) => number;
34
+ shadowedGids: (gid: string, next: string[], excludeHash?: string) => string[];
35
+ };
14
36
  type ResolveFullyOptions = true | {
15
37
  type: "full";
16
38
  remote?: {
@@ -18,6 +40,7 @@ type ResolveFullyOptions = true | {
18
40
  signal?: AbortSignal;
19
41
  timeout?: number;
20
42
  from?: string[];
43
+ priority?: number;
21
44
  } | boolean;
22
45
  ignoreMissing?: boolean;
23
46
  };
@@ -38,6 +61,10 @@ export declare class EntryIndex<T> {
38
61
  index: Index<ShallowEntry>;
39
62
  sort: SortFn;
40
63
  onGidRemoved?: (gid: string[]) => Promise<void> | void;
64
+ nativeGraph?: {
65
+ graph: NativeLogGraph;
66
+ useHeads: boolean;
67
+ };
41
68
  resolveRemotePeers?: (hash: string, options?: {
42
69
  signal?: AbortSignal;
43
70
  }) => Promise<string[] | undefined> | string[] | undefined;
@@ -57,6 +84,10 @@ export declare class EntryIndex<T> {
57
84
  index: Index<ShallowEntry>;
58
85
  sort: SortFn;
59
86
  onGidRemoved?: (gid: string[]) => Promise<void> | void;
87
+ nativeGraph?: {
88
+ graph: NativeLogGraph;
89
+ useHeads: boolean;
90
+ };
60
91
  resolveRemotePeers?: (hash: string, options?: {
61
92
  signal?: AbortSignal;
62
93
  }) => Promise<string[] | undefined> | string[] | undefined;
@@ -68,6 +99,7 @@ export declare class EntryIndex<T> {
68
99
  getHasNext<R extends MaybeResolveOptions>(next: string, resolve?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
69
100
  countHasNext(next: string, excludeHash?: string | undefined): Promise<number>;
70
101
  private _countHasNext;
102
+ private iterateNativeHashes;
71
103
  iterate<R extends MaybeResolveOptions>(query: Query[], sort?: Sort[], options?: R): ResultsIterator<ReturnTypeFromResolveOptions<R, T>>;
72
104
  getOldest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
73
105
  getNewest<T extends boolean, R = T extends true ? Entry<any> : ShallowEntry>(resolve?: T): Promise<R | undefined>;
@@ -92,6 +124,8 @@ export declare class EntryIndex<T> {
92
124
  clear(): Promise<void>;
93
125
  get length(): number;
94
126
  init(): Promise<void>;
127
+ private rebuildNativeGraph;
128
+ private findShadowedGids;
95
129
  private resolve;
96
130
  private resolveFromStore;
97
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entry-index.d.ts","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-index.d.ts","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,36 @@ import { deserialize, serialize } from "@dao-xyz/borsh";
2
2
  import {} from "@peerbit/blocks-interface";
3
3
  import { Cache } from "@peerbit/cache";
4
4
  import { BoolQuery, Not, Or, Sort, SortDirection, StringMatch, StringMatchMethod, toId, } from "@peerbit/indexer-interface";
5
+ import { FOREGROUND_READ_MESSAGE_PRIORITY } from "@peerbit/stream-interface";
5
6
  import { EntryType } from "./entry-type.js";
6
7
  import { Entry } from "./entry.js";
7
8
  import { logger as baseLogger } from "./logger.js";
8
9
  const log = baseLogger.newScope("entry-index");
10
+ const LOG_ENTRY_REMOTE_READ_PRIORITY = FOREGROUND_READ_MESSAGE_PRIORITY;
9
11
  const ENTRY_CACHE_MAX_SIZE = 10; // TODO as param for log
10
12
  const DEFERRED_INDEX_FLUSH_IDLE_MS = 250;
13
+ const NATIVE_GRAPH_REBUILD_BATCH_SIZE = 512;
14
+ const withDefaultRemoteReadPriority = (options) => {
15
+ if (!options?.remote) {
16
+ return options;
17
+ }
18
+ if (options.remote === true) {
19
+ return {
20
+ ...options,
21
+ remote: { priority: LOG_ENTRY_REMOTE_READ_PRIORITY },
22
+ };
23
+ }
24
+ if (options.remote.priority != null) {
25
+ return options;
26
+ }
27
+ return {
28
+ ...options,
29
+ remote: {
30
+ ...options.remote,
31
+ priority: LOG_ENTRY_REMOTE_READ_PRIORITY,
32
+ },
33
+ };
34
+ };
11
35
  export class EntryIndex {
12
36
  properties;
13
37
  cache;
@@ -68,6 +92,9 @@ export class EntryIndex {
68
92
  }
69
93
  }
70
94
  getHeads(gid, resolve = false) {
95
+ if (this.properties.nativeGraph?.useHeads) {
96
+ return this.iterateNativeHashes(() => this.properties.nativeGraph.graph.heads(gid), resolve);
97
+ }
71
98
  const query = [];
72
99
  query.push(new BoolQuery({ key: "head", value: true }));
73
100
  if (gid) {
@@ -96,6 +123,9 @@ export class EntryIndex {
96
123
  }
97
124
  async _countHasNext(next, excludeHash = undefined) {
98
125
  await this.flushPendingWrites();
126
+ if (this.properties.nativeGraph) {
127
+ return this.properties.nativeGraph.graph.countHasNext(next, excludeHash);
128
+ }
99
129
  const query = [
100
130
  new StringMatch({
101
131
  key: ["meta", "next"],
@@ -114,6 +144,56 @@ export class EntryIndex {
114
144
  }
115
145
  return this.properties.index.count({ query });
116
146
  }
147
+ iterateNativeHashes(hashes, options) {
148
+ const resolveInFull = options
149
+ ? options === true
150
+ ? true
151
+ : options.type === "full"
152
+ : false;
153
+ const resolveInFullOptions = resolveInFull
154
+ ? options
155
+ : undefined;
156
+ const shape = !resolveInFull
157
+ ? options?.shape
158
+ : undefined;
159
+ let hashPromise;
160
+ let offset = 0;
161
+ let complete = false;
162
+ const getHashes = async () => {
163
+ if (!hashPromise) {
164
+ hashPromise = this.flushPendingWrites().then(() => hashes());
165
+ }
166
+ return hashPromise;
167
+ };
168
+ const coerce = async (hashes) => {
169
+ if (resolveInFull) {
170
+ const resolved = await Promise.all(hashes.map((hash) => this.resolve(hash, resolveInFullOptions)));
171
+ return resolved.filter((entry) => !!entry);
172
+ }
173
+ const shallow = await Promise.all(hashes.map((hash) => this.getShallow(hash)));
174
+ return shallow
175
+ .filter((entry) => !!entry)
176
+ .map((entry) => shape ? projectShape(entry.value, shape) : entry.value);
177
+ };
178
+ return {
179
+ close: () => undefined,
180
+ done: () => complete,
181
+ next: async (amount) => {
182
+ const all = await getHashes();
183
+ const batch = all.slice(offset, offset + amount);
184
+ offset += batch.length;
185
+ complete = offset >= all.length;
186
+ return coerce(batch);
187
+ },
188
+ all: async () => {
189
+ const all = await getHashes();
190
+ const remaining = all.slice(offset);
191
+ offset = all.length;
192
+ complete = true;
193
+ return coerce(remaining);
194
+ },
195
+ };
196
+ }
117
197
  iterate(query, sort = this.properties.sort.sort, options) {
118
198
  let resolveInFull = options
119
199
  ? options === true
@@ -297,33 +377,12 @@ export class EntryIndex {
297
377
  await this.flushPendingWrites(entry.meta.next);
298
378
  await this.properties.index.put(shallowEntry);
299
379
  }
380
+ this.properties.nativeGraph?.graph.put(toNativeLogEntry(shallowEntry));
300
381
  // check if gids has been shadowed, by query all nexts that have a different gid
301
382
  if (this.properties.onGidRemoved && entry.meta.next.length > 0) {
302
- let nextMatches = [];
303
- for (const next of entry.meta.next) {
304
- nextMatches.push(new StringMatch({
305
- key: ["hash"],
306
- value: next,
307
- caseInsensitive: false,
308
- method: StringMatchMethod.exact,
309
- }));
310
- }
311
- const nextsWithOthersGids = await this.iterate([
312
- new Or(nextMatches),
313
- new Not(new StringMatch({
314
- key: ["meta", "gid"],
315
- value: entry.meta.gid,
316
- })),
317
- ], undefined, { type: "shape", shape: { hash: true, meta: { gid: true } } }).all();
318
- let shadowedGids = new Set();
319
- for (const next of nextsWithOthersGids) {
320
- // check that this entry is not referenced by other
321
- const nexts = await this.countHasNext(next.hash, entry.hash);
322
- if (nexts > 0) {
323
- continue;
324
- }
325
- shadowedGids.add(next.meta.gid);
326
- }
383
+ const shadowedGids = this.properties.nativeGraph
384
+ ? new Set(this.properties.nativeGraph.graph.shadowedGids(entry.meta.gid, entry.meta.next, entry.hash))
385
+ : await this.findShadowedGids(entry);
327
386
  if (shadowedGids.size > 0) {
328
387
  this.properties.onGidRemoved?.([...shadowedGids]);
329
388
  }
@@ -351,6 +410,7 @@ export class EntryIndex {
351
410
  this.pendingIndexWrites.delete(k);
352
411
  await this.properties.store.rm(k);
353
412
  this._length--;
413
+ this.properties.nativeGraph?.graph.delete(k);
354
414
  await this.privateUpdateNextHeadProperty(from, true);
355
415
  return from;
356
416
  }
@@ -358,6 +418,7 @@ export class EntryIndex {
358
418
  await this.properties.store.rm(k);
359
419
  if (deleted.length > 0) {
360
420
  this._length -= deleted.length;
421
+ this.properties.nativeGraph?.graph.delete(k);
361
422
  // mark all next entries as new heads
362
423
  await this.privateUpdateNextHeadProperty(from, true);
363
424
  return from;
@@ -420,6 +481,7 @@ export class EntryIndex {
420
481
  }
421
482
  await this.properties.index.drop();
422
483
  await this.properties.index.start();
484
+ this.properties.nativeGraph?.graph.clear();
423
485
  this.cache.clear();
424
486
  this._length = 0;
425
487
  }
@@ -433,8 +495,63 @@ export class EntryIndex {
433
495
  this.clearPendingIndexFlushTimer();
434
496
  this.pendingIndexWrites.clear();
435
497
  this._length = await this.properties.index.getSize();
498
+ await this.rebuildNativeGraph();
436
499
  this.initialied = true;
437
500
  }
501
+ async rebuildNativeGraph() {
502
+ if (!this.properties.nativeGraph) {
503
+ return;
504
+ }
505
+ const graph = this.properties.nativeGraph.graph;
506
+ graph.clear();
507
+ const iterator = this.properties.index.iterate({ query: [] }, {
508
+ shape: {
509
+ hash: true,
510
+ meta: { clock: true, gid: true, next: true, type: true },
511
+ payloadSize: true,
512
+ head: true,
513
+ },
514
+ });
515
+ try {
516
+ while (!iterator.done()) {
517
+ const results = await iterator.next(NATIVE_GRAPH_REBUILD_BATCH_SIZE);
518
+ for (const result of results) {
519
+ graph.put(toNativeLogEntry(result.value));
520
+ }
521
+ }
522
+ }
523
+ finally {
524
+ await iterator.close();
525
+ }
526
+ }
527
+ async findShadowedGids(entry) {
528
+ let nextMatches = [];
529
+ for (const next of entry.meta.next) {
530
+ nextMatches.push(new StringMatch({
531
+ key: ["hash"],
532
+ value: next,
533
+ caseInsensitive: false,
534
+ method: StringMatchMethod.exact,
535
+ }));
536
+ }
537
+ const nextsWithOthersGids = await this.iterate([
538
+ new Or(nextMatches),
539
+ new Not(new StringMatch({
540
+ key: ["meta", "gid"],
541
+ value: entry.meta.gid,
542
+ })),
543
+ ], undefined, { type: "shape", shape: { hash: true, meta: { gid: true } } }).all();
544
+ let shadowedGids = new Set();
545
+ for (const next of nextsWithOthersGids) {
546
+ // check that this entry is not referenced by other
547
+ const nexts = await this.countHasNext(next.hash, entry.hash);
548
+ if (nexts > 0) {
549
+ continue;
550
+ }
551
+ shadowedGids.add(next.meta.gid);
552
+ }
553
+ return shadowedGids;
554
+ }
438
555
  async resolve(k, options) {
439
556
  let coercedOptions = typeof options === "object" ? options : undefined;
440
557
  /* if (await this.has(k)) { */
@@ -488,7 +605,7 @@ export class EntryIndex {
488
605
  }
489
606
  }
490
607
  }
491
- const value = await this.properties.store.get(k, coercedOptions);
608
+ const value = await this.properties.store.get(k, withDefaultRemoteReadPriority(coercedOptions));
492
609
  if (value) {
493
610
  const entry = deserialize(value, Entry);
494
611
  entry.size = value.length;
@@ -497,4 +614,30 @@ export class EntryIndex {
497
614
  return null;
498
615
  }
499
616
  }
617
+ const toNativeLogEntry = (entry) => ({
618
+ hash: entry.hash,
619
+ gid: entry.meta.gid,
620
+ next: entry.meta.next,
621
+ type: entry.meta.type,
622
+ head: entry.head,
623
+ payloadSize: entry.payloadSize,
624
+ clock: {
625
+ timestamp: {
626
+ wallTime: entry.meta.clock.timestamp.wallTime,
627
+ logical: entry.meta.clock.timestamp.logical,
628
+ },
629
+ },
630
+ });
631
+ const projectShape = (value, shape) => {
632
+ const out = {};
633
+ for (const [key, selector] of Object.entries(shape)) {
634
+ if (selector === true) {
635
+ out[key] = value?.[key];
636
+ }
637
+ else if (selector && typeof selector === "object") {
638
+ out[key] = projectShape(value?.[key], selector);
639
+ }
640
+ }
641
+ return out;
642
+ };
500
643
  //# sourceMappingURL=entry-index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entry-index.js","sourceRoot":"","sources":["../../src/entry-index.ts"],"names":[],"mappings":"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"}
package/dist/src/log.d.ts CHANGED
@@ -28,6 +28,9 @@ export type LogProperties<T> = {
28
28
  encoding?: Encoding<T>;
29
29
  clock?: LamportClock;
30
30
  appendDurability?: AppendDurability;
31
+ nativeGraph?: boolean | {
32
+ heads?: boolean;
33
+ };
31
34
  sortFn?: Sorting.SortFn;
32
35
  trim?: TrimOptions;
33
36
  canAppend?: CanAppend<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"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"}