@optimystic/db-p2p 0.27.0 → 0.29.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.
- package/dist/src/cluster/block-transfer-service.d.ts +0 -10
- package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
- package/dist/src/cluster/block-transfer-service.js +4 -2
- package/dist/src/cluster/block-transfer-service.js.map +1 -1
- package/dist/src/cluster/cluster-policy.d.ts +101 -18
- package/dist/src/cluster/cluster-policy.d.ts.map +1 -1
- package/dist/src/cluster/cluster-policy.js +153 -30
- package/dist/src/cluster/cluster-policy.js.map +1 -1
- package/dist/src/cluster/quorum-restore.d.ts +4 -2
- package/dist/src/cluster/quorum-restore.d.ts.map +1 -1
- package/dist/src/cluster/quorum-restore.js +4 -2
- package/dist/src/cluster/quorum-restore.js.map +1 -1
- package/dist/src/cluster/service.d.ts +12 -9
- package/dist/src/cluster/service.d.ts.map +1 -1
- package/dist/src/cluster/service.js +6 -6
- package/dist/src/cluster/service.js.map +1 -1
- package/dist/src/dispute/service.d.ts +1 -4
- package/dist/src/dispute/service.d.ts.map +1 -1
- package/dist/src/dispute/service.js +2 -1
- package/dist/src/dispute/service.js.map +1 -1
- package/dist/src/libp2p-key-network.d.ts +38 -0
- package/dist/src/libp2p-key-network.d.ts.map +1 -1
- package/dist/src/libp2p-key-network.js +47 -1
- package/dist/src/libp2p-key-network.js.map +1 -1
- package/dist/src/libp2p-node-base.d.ts.map +1 -1
- package/dist/src/libp2p-node-base.js +22 -19
- package/dist/src/libp2p-node-base.js.map +1 -1
- package/dist/src/logger.d.ts +28 -1
- package/dist/src/logger.d.ts.map +1 -1
- package/dist/src/logger.js +143 -1
- package/dist/src/logger.js.map +1 -1
- package/dist/src/network/network-manager-service.d.ts +1 -4
- package/dist/src/network/network-manager-service.d.ts.map +1 -1
- package/dist/src/network/network-manager-service.js +2 -1
- package/dist/src/network/network-manager-service.js.map +1 -1
- package/dist/src/repo/coordinator-repo.d.ts +183 -13
- package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
- package/dist/src/repo/coordinator-repo.js +686 -107
- package/dist/src/repo/coordinator-repo.js.map +1 -1
- package/dist/src/repo/service.d.ts +9 -6
- package/dist/src/repo/service.d.ts.map +1 -1
- package/dist/src/repo/service.js +4 -5
- package/dist/src/repo/service.js.map +1 -1
- package/dist/src/sync/service.d.ts +1 -2
- package/dist/src/sync/service.d.ts.map +1 -1
- package/dist/src/sync/service.js +2 -1
- package/dist/src/sync/service.js.map +1 -1
- package/dist/src/testing/mesh-harness.d.ts +7 -1
- package/dist/src/testing/mesh-harness.d.ts.map +1 -1
- package/dist/src/testing/mesh-harness.js +2 -1
- package/dist/src/testing/mesh-harness.js.map +1 -1
- package/package.json +2 -2
- package/readme.md +19 -0
- package/src/cluster/block-transfer-service.ts +4 -8
- package/src/cluster/cluster-policy.ts +196 -36
- package/src/cluster/quorum-restore.ts +4 -2
- package/src/cluster/service.ts +14 -9
- package/src/dispute/service.ts +3 -3
- package/src/libp2p-key-network.ts +50 -1
- package/src/libp2p-node-base.ts +22 -19
- package/src/logger.ts +196 -2
- package/src/network/network-manager-service.ts +414 -414
- package/src/protocol-client.ts +196 -196
- package/src/repo/coordinator-repo.ts +833 -122
- package/src/repo/service.ts +12 -9
- package/src/sync/service.ts +3 -5
- package/src/testing/mesh-harness.ts +8 -1
|
@@ -188,8 +188,10 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
188
188
|
? (actionId, cert) => { certStore.put(actionId, cert); options.onCommitCertificate?.(actionId, cert); }
|
|
189
189
|
: options.onCommitCertificate;
|
|
190
190
|
// Every cluster-policy default lives in `cluster/cluster-policy.ts` — including WHY the admission
|
|
191
|
-
// gate and the repair corroboration floor resolve
|
|
192
|
-
//
|
|
191
|
+
// gate and the repair corroboration floor resolve to different values when nothing is declared,
|
|
192
|
+
// and why they take TWO operator fields (`clusterPolicy.assumedClusterSize`, which sets both, and
|
|
193
|
+
// `clusterPolicy.repairCorroborationClusterSize`, which sets the repair yardstick alone so a host
|
|
194
|
+
// can tighten repair without also raising the low-confidence write floor). Resolved ONCE, here,
|
|
193
195
|
// before anything that reads a cluster size is constructed: `networkManagerService` below,
|
|
194
196
|
// `Libp2pKeyPeerNetwork`, and the spread-on-churn monitor init must all read `consensusConfig.clusterSize`
|
|
195
197
|
// rather than `options.clusterSize` directly, or they can each apply their own fallback default and
|
|
@@ -285,7 +287,6 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
285
287
|
...inboundAuthorization
|
|
286
288
|
});
|
|
287
289
|
return serviceFactory({
|
|
288
|
-
logger: components.logger,
|
|
289
290
|
registrar: components.registrar,
|
|
290
291
|
cluster: clusterProxy,
|
|
291
292
|
// Identity for membership scoping on the update path. peerId is a core
|
|
@@ -330,7 +331,6 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
330
331
|
// (getCluster(encode(blockKey)) → hashKey(encode(...))), matching the
|
|
331
332
|
// coordinator's findCluster(encode(blockId)) — same cohort, no spurious redirect.
|
|
332
333
|
return serviceFactory({
|
|
333
|
-
logger: components.logger,
|
|
334
334
|
registrar: components.registrar,
|
|
335
335
|
repo: repoProxy
|
|
336
336
|
});
|
|
@@ -341,7 +341,6 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
341
341
|
...inboundAuthorization
|
|
342
342
|
});
|
|
343
343
|
return serviceFactory({
|
|
344
|
-
logger: components.logger,
|
|
345
344
|
registrar: components.registrar,
|
|
346
345
|
repo: repoProxy
|
|
347
346
|
});
|
|
@@ -365,9 +364,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
365
364
|
// Read from the SAME resolved `consensusConfig` the member and coordinator read (whose
|
|
366
365
|
// coupling `assertSuperMajorityCoupling` below already asserts) — a third copy resolving
|
|
367
366
|
// its own default would defeat that.
|
|
368
|
-
superMajorityThreshold: consensusConfig.superMajorityThreshold
|
|
369
|
-
// So this service's authorization denials reach the same error sink as the other three.
|
|
370
|
-
logger: components.logger
|
|
367
|
+
superMajorityThreshold: consensusConfig.superMajorityThreshold
|
|
371
368
|
});
|
|
372
369
|
},
|
|
373
370
|
networkManager: (components) => {
|
|
@@ -734,7 +731,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
734
731
|
// Spread is a resilience optimization, not a correctness requirement - a wiring
|
|
735
732
|
// failure (e.g. FRET briefly unavailable) must NOT hard-fail node startup, unlike the
|
|
736
733
|
// operator-opted-in cohortTopic block. Log and continue with spread inert.
|
|
737
|
-
(
|
|
734
|
+
wiringLog('spread-on-churn init failed: %o', err);
|
|
738
735
|
}
|
|
739
736
|
}
|
|
740
737
|
// Expose for tests/diagnostics (mirrors node.keyNetwork / node.reputation).
|
|
@@ -759,7 +756,13 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
759
756
|
// Initialize Arachnode ring membership and restoration
|
|
760
757
|
const enableArachnode = options.arachnode?.enableRingZulu ?? true;
|
|
761
758
|
if (enableArachnode) {
|
|
762
|
-
|
|
759
|
+
// A child of the file's own `node-wiring` channel (same nesting convention as
|
|
760
|
+
// `storage:restoration` and `network:get-manager`): these lines explain a half-started
|
|
761
|
+
// node, so `optimystic:db-p2p:node-wiring*` shows them next to the rest of the wiring
|
|
762
|
+
// story, while the child name still lets ring/rebalance chatter be filtered on its own.
|
|
763
|
+
// Unconditional — the previous `(node as any).logger?.forComponent?.(...)` reach-through
|
|
764
|
+
// silently dropped every one of these lines when the node exposed no logger.
|
|
765
|
+
const log = createLogger('node-wiring:arachnode');
|
|
763
766
|
const fret = node.services?.fret;
|
|
764
767
|
if (fret) {
|
|
765
768
|
const fretAdapter = new ArachnodeFretAdapter(fret, node.peerId.toString());
|
|
@@ -795,7 +798,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
795
798
|
const peerId = node.peerId.toString();
|
|
796
799
|
const arachnodeInfo = await ringSelector.createArachnodeInfo(peerId);
|
|
797
800
|
fretAdapter.setArachnodeInfo(arachnodeInfo);
|
|
798
|
-
log
|
|
801
|
+
log('Announced Arachnode membership: Ring %d', arachnodeInfo.ringDepth);
|
|
799
802
|
// Setup restoration coordinator with FRET adapter
|
|
800
803
|
const restorationCoordinatorV2 = new RestorationCoordinator(fretAdapter,
|
|
801
804
|
// The node's own IPeerNetwork, not an inline `dialProtocol` lambda: the lambda opened
|
|
@@ -877,7 +880,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
877
880
|
}
|
|
878
881
|
if (result.underReplicated.length > 0) {
|
|
879
882
|
const growthDiag = rebalanceMonitor.getGrowthDiagnostics();
|
|
880
|
-
log
|
|
883
|
+
log('cohort-growth: %d of %d grown blocks not confirmed on new peers this pass ' +
|
|
881
884
|
'(awaiting-confirmation=%d given-up-pairs=%d)', result.underReplicated.length, event.grown.size, growthDiag.blocksAwaitingConfirmation, growthDiag.abandonedPairs);
|
|
882
885
|
}
|
|
883
886
|
}).catch((err) => {
|
|
@@ -889,7 +892,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
889
892
|
// and a loud unbounded retry is the right way to surface one — silently abandoning
|
|
890
893
|
// the block would hide it and leave the block singly held. Revisit if a legitimate
|
|
891
894
|
// recoverable condition is ever allowed to throw out of the reaction.
|
|
892
|
-
log
|
|
895
|
+
log('rebalance reaction failed: %o', err);
|
|
893
896
|
});
|
|
894
897
|
});
|
|
895
898
|
// Ring-shift handoff (advertise→confirm→release). It needs the confirmer (this
|
|
@@ -940,7 +943,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
940
943
|
catch (err) {
|
|
941
944
|
// Rebalance is a resilience optimization, not a correctness requirement - a wiring
|
|
942
945
|
// failure (e.g. FRET briefly unavailable) must NOT hard-fail node startup.
|
|
943
|
-
log
|
|
946
|
+
log('rebalance wiring init failed: %o', err);
|
|
944
947
|
}
|
|
945
948
|
}
|
|
946
949
|
// Monitor capacity and adjust ring periodically. The damped `shouldTransition()` decides
|
|
@@ -957,16 +960,16 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
957
960
|
return;
|
|
958
961
|
const transition = await ringSelector.shouldTransition();
|
|
959
962
|
if (transition.shouldMove && transition.direction && transition.newRingDepth !== undefined) {
|
|
960
|
-
log
|
|
963
|
+
log('Ring transition needed: moving %s to Ring %d', transition.direction, transition.newRingDepth);
|
|
961
964
|
try {
|
|
962
965
|
const outcome = await ringShift.executeShift({
|
|
963
966
|
direction: transition.direction,
|
|
964
967
|
newRingDepth: transition.newRingDepth
|
|
965
968
|
});
|
|
966
|
-
log
|
|
969
|
+
log('Ring shift outcome: %o', outcome);
|
|
967
970
|
}
|
|
968
971
|
catch (err) {
|
|
969
|
-
log
|
|
972
|
+
log('Ring shift failed: %o', err);
|
|
970
973
|
}
|
|
971
974
|
finally {
|
|
972
975
|
// Measure the minimum dwell from the SETTLED shift (completed or rolled back), not
|
|
@@ -983,7 +986,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
983
986
|
};
|
|
984
987
|
}
|
|
985
988
|
else {
|
|
986
|
-
log
|
|
989
|
+
log('FRET service not available, Arachnode disabled');
|
|
987
990
|
}
|
|
988
991
|
}
|
|
989
992
|
// --- Seed the shared owned-block set from already-durable storage ---
|
|
@@ -1014,7 +1017,7 @@ export async function createLibp2pNodeBase(options, defaults) {
|
|
|
1014
1017
|
await previousStop();
|
|
1015
1018
|
};
|
|
1016
1019
|
void seedOwnedBlocksFromStorage(rawStorage, ownedBlocks, () => seedStopping)
|
|
1017
|
-
.catch((err) => (
|
|
1020
|
+
.catch((err) => { wiringLog('owned-block-seed seed failed: %o', err); });
|
|
1018
1021
|
}
|
|
1019
1022
|
// [dispute-subsystem-dormant] The DisputeService object is constructed below so tests and
|
|
1020
1023
|
// getDisputeStatus() work, but it is unreachable from the live network path:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libp2p-node-base.js","sourceRoot":"","sources":["../../src/libp2p-node-base.ts"],"names":[],"mappings":"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"}
|
package/dist/src/logger.d.ts
CHANGED
|
@@ -1,4 +1,28 @@
|
|
|
1
1
|
import debug from 'debug';
|
|
2
|
+
/**
|
|
3
|
+
* A `debug` channel plus the severity sub-channels libp2p's own `Logger` exposes, so a call site
|
|
4
|
+
* can be moved between the two factories without changing what it calls.
|
|
5
|
+
*
|
|
6
|
+
* `error` and `trace` are ordinary child namespaces (`<namespace>:error`), so a wildcard filter
|
|
7
|
+
* the operator already uses — `optimystic:db-p2p:*` — keeps matching them. An EXACT-match filter
|
|
8
|
+
* (`DEBUG=optimystic:db-p2p:repo-service`) does not; that is the same caveat the peer-id suffix
|
|
9
|
+
* already carries, and `docs/debugging.md` already documents it.
|
|
10
|
+
*
|
|
11
|
+
* Unlike libp2p we do NOT conditionally stub out `trace`: libp2p builds a no-op unless a `:trace`
|
|
12
|
+
* namespace is explicitly enabled, but a disabled `debug` channel is already near-free, and the
|
|
13
|
+
* conditional version reads its enablement once at construction — wrong for anything built before
|
|
14
|
+
* `DEBUG` is set. `newScope` is deliberately omitted; `createLogger('parent:child')` says the same
|
|
15
|
+
* thing and nothing calls it.
|
|
16
|
+
*
|
|
17
|
+
* NOTE: because `trace` is a real channel, the wildcard `optimystic:db-p2p:*` that
|
|
18
|
+
* `docs/debugging.md` tells operators to set will also show trace lines. Nothing calls `.trace`
|
|
19
|
+
* yet, so that is currently free; if trace logging ever becomes voluminous, give the docs a
|
|
20
|
+
* narrower default filter rather than stubbing the channel back out.
|
|
21
|
+
*/
|
|
22
|
+
export interface Logger extends debug.Debugger {
|
|
23
|
+
error: debug.Debugger;
|
|
24
|
+
trace: debug.Debugger;
|
|
25
|
+
}
|
|
2
26
|
/**
|
|
3
27
|
* Build a `debug` logger under `optimystic:db-p2p:<subNamespace>`, optionally suffixed with the
|
|
4
28
|
* owning node's peer id (`:<first 12 chars>`) so lines from several nodes sharing one process —
|
|
@@ -14,7 +38,10 @@ import debug from 'debug';
|
|
|
14
38
|
* the three `peer-address-book` sinks); the package's other ~30 `createLogger` call sites
|
|
15
39
|
* still log under a flat namespace. Thread a peer id through any of them if a future diagnosis
|
|
16
40
|
* needs per-node attribution from that subsystem — the mechanism is already here.
|
|
41
|
+
*
|
|
42
|
+
* The peer-id suffix goes BEFORE `:error` / `:trace` — those are children of the concrete channel,
|
|
43
|
+
* so a two-node process gets `…:x:12D3KooWAb:error`, not `…:x:error:12D3KooWAb`.
|
|
17
44
|
*/
|
|
18
|
-
export declare function createLogger(subNamespace: string, peerId?: string):
|
|
45
|
+
export declare function createLogger(subNamespace: string, peerId?: string): Logger;
|
|
19
46
|
export declare const verbose: boolean;
|
|
20
47
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/src/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AAsJzB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,MAAO,SAAQ,KAAK,CAAC,QAAQ;IAC7C,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;IACrB,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AAUH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAW1E;AAED,eAAO,MAAM,OAAO,SACqE,CAAC"}
|
package/dist/src/logger.js
CHANGED
|
@@ -1,5 +1,127 @@
|
|
|
1
|
+
import { base32 } from 'multiformats/bases/base32';
|
|
2
|
+
import { base58btc } from 'multiformats/bases/base58';
|
|
3
|
+
import { base64 } from 'multiformats/bases/base64';
|
|
1
4
|
import debug from 'debug';
|
|
2
5
|
const BASE_NAMESPACE = 'optimystic:db-p2p';
|
|
6
|
+
/*
|
|
7
|
+
* Format specifiers, ported from `@libp2p/logger`'s `src/index.ts` (MIT, same license as this
|
|
8
|
+
* repo). Call sites in this package log lines like `'error handling X from %p - %e'`; those used
|
|
9
|
+
* to reach libp2p's own logger, which registers these. Without the port they would print the
|
|
10
|
+
* literal text `%p` / `%e`.
|
|
11
|
+
*
|
|
12
|
+
* NOTE: these are registered on the `debug` module instance THIS file imports. libp2p's own
|
|
13
|
+
* loggers use `weald` (via @libp2p/logger) and carry their own copy — the two registries are
|
|
14
|
+
* independent, and enabling one from test code does not enable the other.
|
|
15
|
+
*
|
|
16
|
+
* NOTE: `debug.formatters` is process-wide, and the other six packages' `createLogger` factories
|
|
17
|
+
* import the same `debug` module — so importing this file makes `%p`/`%e`/… work from their
|
|
18
|
+
* loggers too. Harmless today (no other package registers any specifier, and none of these letters
|
|
19
|
+
* is a `util.format` specifier except `%c`, whose Node meaning is a no-op that swallows its
|
|
20
|
+
* argument). If a second package ever registers one of these letters, last import wins silently;
|
|
21
|
+
* move the registry somewhere both can share rather than racing on it.
|
|
22
|
+
*
|
|
23
|
+
* NOTE: only `%e` is guaranteed not to throw — its call sites take a `catch`-bound `unknown`. The
|
|
24
|
+
* other six call `.toString()` / an encoder on whatever they are handed, so a caller that passes
|
|
25
|
+
* the wrong type turns a log line into an exception. That matches upstream; tighten them if a
|
|
26
|
+
* call site ever formats a value it did not construct.
|
|
27
|
+
*
|
|
28
|
+
* `%k` (`interface-datastore`'s `Key`) is deliberately NOT ported: `interface-datastore` is not a
|
|
29
|
+
* declared dependency of this package and no call site formats one. Add it if that changes.
|
|
30
|
+
*/
|
|
31
|
+
// Add a formatter for converting to a base58 string
|
|
32
|
+
debug.formatters['b'] = (v) => {
|
|
33
|
+
return v == null ? 'undefined' : base58btc.baseEncode(v);
|
|
34
|
+
};
|
|
35
|
+
// Add a formatter for converting to a base32 string
|
|
36
|
+
debug.formatters['t'] = (v) => {
|
|
37
|
+
return v == null ? 'undefined' : base32.baseEncode(v);
|
|
38
|
+
};
|
|
39
|
+
// Add a formatter for converting to a base64 string
|
|
40
|
+
debug.formatters['m'] = (v) => {
|
|
41
|
+
return v == null ? 'undefined' : base64.baseEncode(v);
|
|
42
|
+
};
|
|
43
|
+
// Add a formatter for stringifying peer ids
|
|
44
|
+
debug.formatters['p'] = (v) => {
|
|
45
|
+
return v == null ? 'undefined' : v.toString();
|
|
46
|
+
};
|
|
47
|
+
// Add a formatter for stringifying CIDs
|
|
48
|
+
debug.formatters['c'] = (v) => {
|
|
49
|
+
return v == null ? 'undefined' : v.toString();
|
|
50
|
+
};
|
|
51
|
+
// Add a formatter for stringifying Multiaddrs
|
|
52
|
+
debug.formatters['a'] = (v) => {
|
|
53
|
+
return v == null ? 'undefined' : v.toString();
|
|
54
|
+
};
|
|
55
|
+
function notEmpty(str) {
|
|
56
|
+
if (str == null) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
str = str.trim();
|
|
60
|
+
if (str.length === 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
return str;
|
|
64
|
+
}
|
|
65
|
+
function formatError(v, indent = '') {
|
|
66
|
+
const message = notEmpty(v.message);
|
|
67
|
+
const stack = notEmpty(v.stack);
|
|
68
|
+
// some browser errors (mostly from Firefox) have no message or no stack,
|
|
69
|
+
// sometimes both, sometimes neither. Sometimes the message is in the stack,
|
|
70
|
+
// sometimes it isn't so try to do *something* useful
|
|
71
|
+
if (message != null && stack != null) {
|
|
72
|
+
if (stack.includes(message)) {
|
|
73
|
+
return `${stack.split('\n').join(`\n${indent}`)}`;
|
|
74
|
+
}
|
|
75
|
+
return `${message}\n${indent}${stack.split('\n').join(`\n${indent}`)}`;
|
|
76
|
+
}
|
|
77
|
+
if (stack != null) {
|
|
78
|
+
return `${stack.split('\n').join(`\n${indent}`)}`;
|
|
79
|
+
}
|
|
80
|
+
if (message != null) {
|
|
81
|
+
return `${message}`;
|
|
82
|
+
}
|
|
83
|
+
return `${v.toString()}`;
|
|
84
|
+
}
|
|
85
|
+
function isAggregateError(err) {
|
|
86
|
+
return err instanceof AggregateError || (err?.name === 'AggregateError' && Array.isArray(err.errors));
|
|
87
|
+
}
|
|
88
|
+
function printError(err, indent = '') {
|
|
89
|
+
if (isAggregateError(err)) {
|
|
90
|
+
let output = formatError(err, indent);
|
|
91
|
+
if (err.errors.length > 0) {
|
|
92
|
+
indent = `${indent} `;
|
|
93
|
+
output += `\n${indent}${err.errors
|
|
94
|
+
.map(err => `${printError(err, `${indent}`)}`)
|
|
95
|
+
.join(`\n${indent}`)}`;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
output += `\n${indent}[Error list was empty]`;
|
|
99
|
+
}
|
|
100
|
+
return output.trim();
|
|
101
|
+
}
|
|
102
|
+
return formatError(err, indent);
|
|
103
|
+
}
|
|
104
|
+
// Add a formatter for stringifying Errors.
|
|
105
|
+
//
|
|
106
|
+
// A call site can hand `%e` anything — `catch (err)` binds `unknown`, and this package's `%e` sites
|
|
107
|
+
// are all in catch blocks. This must never throw: a logger that throws turns a caught error into an
|
|
108
|
+
// uncaught one at exactly the site that was trying to report it.
|
|
109
|
+
//
|
|
110
|
+
// The try/catch is a deliberate deviation from the upstream `@libp2p/logger` port. `formatError`'s
|
|
111
|
+
// last resort is `${v.toString()}`, which raises for the two values that have no usable primitive
|
|
112
|
+
// conversion — a null-prototype object (`throw Object.create(null)`) and a symbol. Upstream has the
|
|
113
|
+
// same hole; here the stated contract is "never throw", so the fallback is explicit.
|
|
114
|
+
debug.formatters['e'] = (v) => {
|
|
115
|
+
if (v == null) {
|
|
116
|
+
return 'undefined';
|
|
117
|
+
}
|
|
118
|
+
try {
|
|
119
|
+
return printError(v);
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
return '[unformattable error]';
|
|
123
|
+
}
|
|
124
|
+
};
|
|
3
125
|
/**
|
|
4
126
|
* Build a `debug` logger under `optimystic:db-p2p:<subNamespace>`, optionally suffixed with the
|
|
5
127
|
* owning node's peer id (`:<first 12 chars>`) so lines from several nodes sharing one process —
|
|
@@ -15,10 +137,30 @@ const BASE_NAMESPACE = 'optimystic:db-p2p';
|
|
|
15
137
|
* the three `peer-address-book` sinks); the package's other ~30 `createLogger` call sites
|
|
16
138
|
* still log under a flat namespace. Thread a peer id through any of them if a future diagnosis
|
|
17
139
|
* needs per-node attribution from that subsystem — the mechanism is already here.
|
|
140
|
+
*
|
|
141
|
+
* The peer-id suffix goes BEFORE `:error` / `:trace` — those are children of the concrete channel,
|
|
142
|
+
* so a two-node process gets `…:x:12D3KooWAb:error`, not `…:x:error:12D3KooWAb`.
|
|
143
|
+
*/
|
|
144
|
+
/*
|
|
145
|
+
* NOTE: `packages/db-p2p/test/logger.spec.ts` asserts that every namespace this package emits has
|
|
146
|
+
* a row in the db-p2p table of `docs/debugging.md`, and it finds them by scanning `src/` for
|
|
147
|
+
* `createLogger("…")` / `createLogger('…')` — STRING LITERALS ONLY. A namespace built from a
|
|
148
|
+
* variable (`createLogger(someName)`) is invisible to that guard, so it would go undocumented
|
|
149
|
+
* silently. No such call site exists today; the two that pass a fallback
|
|
150
|
+
* (`createLogger(init.logPrefix ?? 'repo-service')`) still carry the literal, which is what the
|
|
151
|
+
* scan picks up. If you ever need a fully computed namespace, document it by hand and say so here.
|
|
18
152
|
*/
|
|
19
153
|
export function createLogger(subNamespace, peerId) {
|
|
20
154
|
const suffix = peerId ? `:${peerId.substring(0, 12)}` : '';
|
|
21
|
-
|
|
155
|
+
const namespace = `${BASE_NAMESPACE}:${subNamespace}${suffix}`;
|
|
156
|
+
// NOTE: `Object.assign` onto the Debugger, never a spread into a fresh object. `debug` defines
|
|
157
|
+
// `enabled` as an accessor property on the function object it returns; assigning onto that
|
|
158
|
+
// object preserves the accessor, whereas spreading would flatten it to a construction-time
|
|
159
|
+
// snapshot boolean and silently break any `if (log.enabled)` guard.
|
|
160
|
+
return Object.assign(debug(namespace), {
|
|
161
|
+
error: debug(`${namespace}:error`),
|
|
162
|
+
trace: debug(`${namespace}:trace`)
|
|
163
|
+
});
|
|
22
164
|
}
|
|
23
165
|
export const verbose = typeof process !== 'undefined'
|
|
24
166
|
&& (process.env.OPTIMYSTIC_VERBOSE === '1' || process.env.OPTIMYSTIC_VERBOSE === 'true');
|
package/dist/src/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Startable,
|
|
1
|
+
import type { Startable, PeerId, Libp2p } from '@libp2p/interface';
|
|
2
2
|
import type { IPeerReputation } from '../reputation/types.js';
|
|
3
3
|
import { PenaltyReason } from '../reputation/types.js';
|
|
4
4
|
import { RebalanceMonitor, type RebalanceMonitorConfig } from '../cluster/rebalance-monitor.js';
|
|
@@ -27,9 +27,6 @@ export type NetworkManagerServiceInit = {
|
|
|
27
27
|
clusterSizeTolerance?: number;
|
|
28
28
|
};
|
|
29
29
|
type Components = {
|
|
30
|
-
logger: {
|
|
31
|
-
forComponent: (name: string) => Logger;
|
|
32
|
-
};
|
|
33
30
|
registrar: {
|
|
34
31
|
handle: (...args: any[]) => Promise<void>;
|
|
35
32
|
unhandle: (...args: any[]) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-manager-service.d.ts","sourceRoot":"","sources":["../../../src/network/network-manager-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"network-manager-service.d.ts","sourceRoot":"","sources":["../../../src/network/network-manager-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAKlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,KAAK,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAC/F,OAAO,EAAE,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACtH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAGhF,MAAM,MAAM,yBAAyB,GAAG;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/E,SAAS,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACnD,SAAS,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAA;IACxD,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAA;AAED,KAAK,UAAU,GAAG;IACjB,SAAS,EAAE;QAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KAAE,CAAC;IACtG,MAAM,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAMD,qBAAa,qBAAsB,YAAW,SAAS;IAa1C,OAAO,CAAC,QAAQ,CAAC,UAAU;IAZvC,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAqC;IACzD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IACtF,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAwD;IACrF,OAAO,CAAC,YAAY,CAAsE;IAC1F,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,oBAAoB,CAAC,CAAsB;gBAEtB,UAAU,EAAE,UAAU,EAAE,IAAI,GAAE,yBAA8B;IAczF,4FAA4F;IAC5F,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,aAAa,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAIhD;;OAEG;IACH,oBAAoB,CACnB,iBAAiB,EAAE,iBAAiB,EACpC,WAAW,EAAE,oBAAoB,EACjC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,MAAM,CAAC,EAAE,sBAAsB,GAC7B,gBAAgB;IAenB,mBAAmB,IAAI,gBAAgB,GAAG,SAAS;IAInD;;;;;OAKG;IACH,wBAAwB,CACvB,iBAAiB,EAAE,iBAAiB,EACpC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,EAC/B,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAC7C,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,EAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,GACnC,oBAAoB;IAmBvB,uBAAuB,IAAI,oBAAoB,GAAG,SAAS;IAI3D,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,OAAO;IAQf,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAAqC;IAEjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAOtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAed,OAAO;IASrB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,aAAa;IAarB,SAAS,IAAI;QAAE,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,UAAU,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE;IAatE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B3E;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,aAA+C,GAAG,IAAI;IAI5F,OAAO,CAAC,aAAa;IAIrB,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAKxD;;;OAGG;YACW,oBAAoB;IAsClC;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmD9C,cAAc,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBtD,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,OAAO;CAUf;AAED,wBAAgB,qBAAqB,CAAC,IAAI,GAAE,yBAA8B,IACjE,YAAY,UAAU,2BAC9B"}
|
|
@@ -4,6 +4,7 @@ import { toString as u8ToString } from 'uint8arrays/to-string';
|
|
|
4
4
|
import { PenaltyReason } from '../reputation/types.js';
|
|
5
5
|
import { RebalanceMonitor } from '../cluster/rebalance-monitor.js';
|
|
6
6
|
import { SpreadOnChurnMonitor } from '../cluster/spread-on-churn.js';
|
|
7
|
+
import { createLogger } from '../logger.js';
|
|
7
8
|
export class NetworkManagerService {
|
|
8
9
|
components;
|
|
9
10
|
running = false;
|
|
@@ -19,7 +20,7 @@ export class NetworkManagerService {
|
|
|
19
20
|
spreadOnChurnMonitor;
|
|
20
21
|
constructor(components, init = {}) {
|
|
21
22
|
this.components = components;
|
|
22
|
-
this.log =
|
|
23
|
+
this.log = createLogger('network-manager');
|
|
23
24
|
this.cfg = {
|
|
24
25
|
clusterSize: init.clusterSize ?? 1,
|
|
25
26
|
seedKeys: init.seedKeys ?? [],
|