-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve event iteration performance #2601
Conversation
Coverage report for
|
St.❔ |
Category | Percentage | Covered / Total |
---|---|---|---|
🟡 | Statements | 66.71% (-3.39% 🔻) |
20302/30431 |
🟡 | Branches | 78.96% (+0.67% 🔼) |
2729/3456 |
🟡 | Functions | 69.82% (+7.32% 🔼) |
1143/1637 |
🟡 | Lines | 66.71% (-3.39% 🔻) |
20302/30431 |
Show new covered files 🐣
St.❔ |
File | Statements | Branches | Functions | Lines |
---|---|---|---|---|---|
🟢 | ... / migrate.ts |
85.34% | 16.67% | 100% | 85.34% |
🟢 | ... / migrate-abis.controller.ts |
95% | 87.5% | 100% | 95% |
🟢 | ... / constants.ts |
100% | 100% | 100% | 100% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🟢 | ... / ethereum.ts |
82.28% | 83.33% | 100% | 82.28% |
🟢 | ... / migrate-manifest.controller.ts |
88% | 72.41% | 88.89% | 88% |
🟢 | ... / migrate-mapping.controller.ts |
100% | 100% | 100% | 100% |
🟢 | ... / migrate-controller.ts |
92.41% | 85.19% | 100% | 92.41% |
🟢 | ... / migrate.fixtures.ts |
100% | 100% | 100% | 100% |
🟢 | ... / migrate-schema.controller.ts |
97.23% | 79.49% | 100% | 97.23% |
🔴 | ... / types.ts |
0% | 0% | 0% | 0% |
🟢 | ... / createProject.fixtures.ts |
87.07% | 75% | 100% | 87.07% |
🟢 | ... / config.ts |
100% | 100% | 100% | 100% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🔴 | ... / moduleLoader.ts |
56% | 40% | 100% | 56% |
🟢 | ... / types.ts |
100% | 100% | 100% | 100% |
🔴 | ... / utils.ts |
0% | 0% | 0% | 0% |
🟢 | ... / networkFamily.ts |
92.59% | 88.89% | 100% | 92.59% |
🟡 | ... / IPFSHTTPClientLite.ts |
75.74% | 79.17% | 88.89% | 75.74% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🟢 | ... / utils.ts |
92% | 66.67% | 100% | 92% |
🟡 | ... / admin.controller.ts |
77.24% | 96.3% | 78.57% | 77.24% |
🔴 | ... / blockRange.ts |
46.67% | 100% | 50% | 46.67% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🟢 | ... / SubqueryProject.ts |
84.14% | 50% | 71.43% | 84.14% |
🟢 | ... / core.module.ts |
100% | 50% | 100% | 100% |
🟢 | ... / dictionary.fixtures.ts |
100% | 100% | 100% | 100% |
🟡 | ... / monitor.service.ts |
69.61% | 85.88% | 94.12% | 69.61% |
🔴 | ... / sandbox.service.ts |
33.33% | 50% | 25% | 33.33% |
🟡 | ... / baseCache.service.ts |
62.12% | 88.89% | 66.67% | 62.12% |
🔴 | ... / baseStoreModel.service.ts |
57.41% | 66.67% | 80% | 57.41% |
🟢 | ... / cacheable.ts |
89.66% | 75% | 100% | 89.66% |
🟡 | ... / csvStore.service.ts |
77.78% | 80% | 80% | 77.78% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🟡 | ... / cacheMetadata.ts |
67.84% | 82.22% | 86.67% | 67.84% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🔴 | ... / metadata.ts |
53.01% | 71.43% | 55.56% | 53.01% |
🟢 | ... / utils.ts |
100% | 100% | 100% | 100% |
🟢 | ... / cacheModel.ts |
86.33% | 83.12% | 85% | 86.33% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🟡 | ... / model.ts |
77.36% | 73.91% | 81.82% | 77.36% |
🟢 | ... / utils.ts |
100% | 100% | 100% | 100% |
🟡 | ... / cachePoi.ts |
76.84% | 89.47% | 85.71% | 76.84% |
🟢 | ... / index.ts |
100% | 100% | 100% | 100% |
🔴 | ... / poi.ts |
41.07% | 71.43% | 44.44% | 41.07% |
🟢 | ... / setValueModel.ts |
80.77% | 76.47% | 85.71% | 80.77% |
🟡 | ... / storeCache.service.ts |
63.35% | 84.38% | 73.33% | 63.35% |
🔴 | ... / storeModel.service.ts |
56.79% | 50% | 57.14% | 56.79% |
🟢 | ... / types.ts |
100% | 100% | 100% | 100% |
🟢 | ... / utils.ts |
87.5% | 75% | 100% | 87.5% |
🟢 | ... / worker.core.module.ts |
100% | 100% | 0% | 100% |
🔴 | ... / worker.monitor.service.ts |
41.46% | 100% | 0% | 41.46% |
🔴 | ... / meta.controller.ts |
53.33% | 100% | 0% | 53.33% |
🟡 | ... / meta.module.ts |
60% | 100% | 0% | 60% |
🟡 | ... / process.ts |
61.29% | 66.67% | 40% | 61.29% |
🔴 | ... / foreceClean.init.ts |
47.62% | 100% | 0% | 47.62% |
🔴 | ... / reindex.init.ts |
33.33% | 100% | 0% | 33.33% |
🟡 | ... / string.ts |
61.54% | 50% | 100% | 61.54% |
🔴 | ... / datasourceProcessors.ts |
0% | 0% | 0% | 0% |
🔴 | ... / index.ts |
0% | 0% | 0% | 0% |
🔴 | ... / types.ts |
0% | 0% | 0% | 0% |
🔴 | ... / networking.ts |
31.58% | 100% | 0% | 31.58% |
Show files with reduced coverage 🔻
St.❔ |
File | Statements | Branches | Functions | Lines |
---|---|---|---|---|---|
🔴 | ... / delete.ts |
48.72% (-5.57% 🔻) |
100% | 50% (+50% 🔼) |
48.72% (-5.57% 🔻) |
🔴 | ... / promote.ts |
44.19% (-4.53% 🔻) |
100% | 50% (+50% 🔼) |
44.19% (-4.53% 🔻) |
🟡 | ... / add.ts |
61.29% (-0.78% 🔻) |
100% | 50% (+50% 🔼) |
61.29% (-0.78% 🔻) |
🟢 | ... / publish.ts |
83.72% (-5.61% 🔻) |
60% (+2.86% 🔼) |
100% | 83.72% (-5.61% 🔻) |
🔴 | ... / add-chain-controller.ts |
39.62% (-0.45% 🔻) |
66.67% | 30% | 39.62% (-0.45% 🔻) |
🟢 | ... / codegen-controller.ts |
88.52% (-0.86% 🔻) |
84.72% (+9.14% 🔼) |
100% | 88.52% (-0.86% 🔻) |
🟢 | ... / generate-controller.ts |
97.75% (+0.1% 🔼) |
93.24% (-0.79% 🔻) |
100% | 97.75% (+0.1% 🔼) |
🟡 | ... / init-controller.ts |
73.06% (+2.57% 🔼) |
54.55% (-13.45% 🔻) |
61.11% (+7.78% 🔼) |
73.06% (+2.57% 🔼) |
🟢 | ... / project-controller.ts |
80.72% (-16.54% 🔻) |
50% (-10% 🔻) |
75% (-25% 🔻) |
80.72% (-16.54% 🔻) |
🟡 | ... / publish-controller.ts |
78.39% (-1.86% 🔻) |
63.64% (-7.47% 🔻) |
83.33% (-16.67% 🔻) |
78.39% (-1.86% 🔻) |
🟢 | ... / models.ts |
82.22% (-17.22% 🔻) |
95.65% (+3.34% 🔼) |
76.92% (-23.08% 🔻) |
82.22% (-17.22% 🔻) |
🟢 | ... / model.ts |
95.43% (-2.29% 🔻) |
100% | 80% (+8.57% 🔼) |
95.43% (-2.29% 🔻) |
🔴 | ... / models.ts |
47.06% (-52.94% 🔻) |
100% | 0% (-100% 🔻) |
47.06% (-52.94% 🔻) |
🟡 | ... / load.ts |
64.29% (+5.1% 🔼) |
38.89% (-16.67% 🔻) |
83.33% (+16.67% 🔼) |
64.29% (+5.1% 🔼) |
🟡 | ... / github-reader.ts |
65.52% (-23.77% 🔻) |
85.71% (+10.71% 🔼) |
71.43% (-11.9% 🔻) |
65.52% (-23.77% 🔻) |
🟡 | ... / ipfs-reader.ts |
65.08% (-20.63% 🔻) |
90.91% (+27.27% 🔼) |
71.43% (-11.9% 🔻) |
65.08% (-20.63% 🔻) |
🟡 | ... / local-reader.ts |
67.5% (-18.55% 🔻) |
100% (+37.5% 🔼) |
83.33% (-16.67% 🔻) |
67.5% (-18.55% 🔻) |
🟡 | ... / utils.ts |
70.35% (+7.65% 🔼) |
73.02% (-0.15% 🔻) |
65.38% (+9.38% 🔼) |
70.35% (+7.65% 🔼) |
🔴 | ... / models.ts |
57.49% (-42.51% 🔻) |
100% | 44.44% (-55.56% 🔻) |
57.49% (-42.51% 🔻) |
🟢 | ... / NodeConfig.ts |
88.51% (-0.1% 🔻) |
78.69% (-0.94% 🔻) |
85.11% (-0.94% 🔻) |
88.51% (-0.1% 🔻) |
🟡 | ... / ProjectUpgrade.service.ts |
78.72% (-8.35% 🔻) |
78.82% (-12.53% 🔻) |
92.31% (+1% 🔼) |
78.72% (-8.35% 🔻) |
🟢 | ... / configure.module.ts |
82.51% (-2.06% 🔻) |
72% (+8% 🔼) |
100% | 82.51% (-2.06% 🔻) |
🟢 | ... / db.module.ts |
89.06% (+0.78% 🔼) |
62.5% (-20.83% 🔻) |
80% | 89.06% (+0.78% 🔼) |
🟢 | ... / SchemaMigration.service.ts |
84.04% (-3.52% 🔻) |
81.82% (+0.57% 🔼) |
83.33% (-16.67% 🔻) |
84.04% (-3.52% 🔻) |
🟡 | ... / migration-helpers.ts |
75.28% (-0.74% 🔻) |
88.24% (+7.64% 🔼) |
90.91% | 75.28% (-0.74% 🔻) |
🟡 | ... / migration.ts |
73.29% (-9% 🔻) |
83.33% (+3.6% 🔼) |
85% (-5.48% 🔻) |
73.29% (-9% 🔻) |
🟡 | ... / StoreOperations.ts |
65.88% (-26.43% 🔻) |
60% (-25% 🔻) |
87.5% (-12.5% 🔻) |
65.88% (-26.43% 🔻) |
🔴 | ... / benchmark.service.ts |
43.36% (-11.89% 🔻) |
66.67% | 36.36% (-3.64% 🔻) |
43.36% (-11.89% 🔻) |
🔴 | ... / base-block-dispatcher.ts |
18.33% (-29.02% 🔻) |
100% | 4.35% (-5.65% 🔻) |
18.33% (-29.02% 🔻) |
🔴 | ... / block-dispatcher.ts |
26.61% (-14.39% 🔻) |
66.67% | 25% (-3.57% 🔻) |
26.61% (-14.39% 🔻) |
🔴 | ... / worker-block-dispatcher.ts |
36.17% (-14.04% 🔻) |
100% | 25% (-2.27% 🔻) |
36.17% (-14.04% 🔻) |
🟢 | ... / coreDictionary.ts |
94.67% (-5.33% 🔻) |
88.24% (-6.21% 🔻) |
88.89% (-11.11% 🔻) |
94.67% (-5.33% 🔻) |
🟡 | ... / dictionary.service.ts |
68.47% (-16.67% 🔻) |
83.78% (-1.93% 🔻) |
83.33% (-7.58% 🔻) |
68.47% (-16.67% 🔻) |
🟢 | ... / dictionaryV1.ts |
91.02% (-2.21% 🔻) |
73.33% (-4.93% 🔻) |
100% | 91.02% (-2.21% 🔻) |
🟡 | ... / dictionaryV2.ts |
67.37% (-14.31% 🔻) |
68% (+2.78% 🔼) |
88.89% (-11.11% 🔻) |
67.37% (-14.31% 🔻) |
🔴 | ... / ds-processor.service.ts |
38.12% (-23.97% 🔻) |
75% | 58.33% (-29.17% 🔻) |
38.12% (-23.97% 🔻) |
🟡 | ... / dynamic-ds.service.ts |
60.16% (-30.04% 🔻) |
65% (-1.67% 🔻) |
80% (-5.71% 🔻) |
60.16% (-30.04% 🔻) |
🟢 | ... / fetch.service.ts |
92.23% (-0.06% 🔻) |
87.67% (-1.06% 🔻) |
88% (+1.04% 🔼) |
92.23% (-0.06% 🔻) |
🟢 | ... / inMemoryCache.service.ts |
86.21% (-13.79% 🔻) |
100% | 75% (-25% 🔻) |
86.21% (-13.79% 🔻) |
🔴 | ... / indexer.manager.ts |
16.79% (-16.42% 🔻) |
100% | 10% (-2.5% 🔻) |
16.79% (-16.42% 🔻) |
🟢 | ... / PoiBlock.ts |
83.87% (-14.52% 🔻) |
96.55% | 75% (-25% 🔻) |
83.87% (-14.52% 🔻) |
🔴 | ... / poi.service.ts |
55.7% (+31.78% 🔼) |
57.69% (-42.31% 🔻) |
80% (+51.43% 🔼) |
55.7% (+31.78% 🔼) |
🔴 | ... / poiSync.service.ts |
55.88% (-31% 🔻) |
77.61% (+1.05% 🔼) |
88.89% (-3.42% 🔻) |
55.88% (-31% 🔻) |
🟡 | ... / project.service.ts |
73.54% (-6.46% 🔻) |
76.06% (+5.88% 🔼) |
85.19% (+1.19% 🔼) |
73.54% (-6.46% 🔻) |
🔴 | ... / sandbox.ts |
42.27% (-25.71% 🔻) |
62.5% (+5.36% 🔼) |
28.57% (-32.97% 🔻) |
42.27% (-25.71% 🔻) |
🔴 | ... / smartBatch.service.ts |
10.43% (-13.91% 🔻) |
100% | 12.5% (-1.79% 🔻) |
10.43% (-13.91% 🔻) |
🟡 | ... / store.service.ts |
60.52% (-5.52% 🔻) |
75.41% (+6.99% 🔼) |
80.65% (+23.5% 🔼) |
60.52% (-5.52% 🔻) |
🔴 | ... / entity.ts |
50% (-11.54% 🔻) |
100% | 50% (+50% 🔼) |
50% (-11.54% 🔻) |
🔴 | ... / store.ts |
30% (-2.2% 🔻) |
62.5% (-37.5% 🔻) |
33.33% (+33.33% 🔼) |
30% (-2.2% 🔻) |
🟢 | ... / test.runner.ts |
95.06% (-4.27% 🔻) |
77.78% (+4.44% 🔼) |
75% (-25% 🔻) |
95.06% (-4.27% 🔻) |
🔴 | ... / testing.service.ts |
12% (-16.57% 🔻) |
100% | 0% | 12% (-16.57% 🔻) |
🔴 | ... / unfinalizedBlocks.service.ts |
56.21% (-27.78% 🔻) |
75% (-21.72% 🔻) |
92% (+0.33% 🔼) |
56.21% (-27.78% 🔻) |
🔴 | ... / worker.builder.ts |
59.83% (-19.36% 🔻) |
65.38% | 80% | 59.83% (-19.36% 🔻) |
🔴 | ... / worker.cache.service.ts |
48.78% (-9.76% 🔻) |
100% | 0% | 48.78% (-9.76% 🔻) |
🔴 | ... / worker.connectionPoolState.manager.ts |
38.21% (-22.76% 🔻) |
100% | 0% | 38.21% (-22.76% 🔻) |
🔴 | ... / worker.dynamic-ds.service.ts |
44.44% (-17.78% 🔻) |
100% | 0% | 44.44% (-17.78% 🔻) |
🔴 | ... / worker.service.ts |
20.54% (-24.11% 🔻) |
100% | 0% | 20.54% (-24.11% 🔻) |
🔴 | ... / worker.ts |
42.08% (-0.37% 🔻) |
100% | 0% | 42.08% (-0.37% 🔻) |
🔴 | ... / worker.unfinalizedBlocks.service.ts |
26.79% (-73.21% 🔻) |
100% | 0% (-100% 🔻) |
26.79% (-73.21% 🔻) |
🔴 | ... / logger.ts |
47.89% (-16.59% 🔻) |
33.33% | 40% (+20% 🔼) |
47.89% (-16.59% 🔻) |
🔴 | ... / event.listener.ts |
15.15% (-65.66% 🔻) |
100% | 0% (-25% 🔻) |
15.15% (-65.66% 🔻) |
🔴 | ... / health.controller.ts |
37.93% (-17.24% 🔻) |
100% | 0% (-50% 🔻) |
37.93% (-17.24% 🔻) |
🔴 | ... / health.service.ts |
21.05% (-36.48% 🔻) |
100% | 0% (-20% 🔻) |
21.05% (-36.48% 🔻) |
🔴 | ... / meta.service.ts |
34.26% (-35.26% 🔻) |
100% (+20% 🔼) |
0% (-40% 🔻) |
34.26% (-35.26% 🔻) |
🔴 | ... / ready.controller.ts |
34.78% (-21.74% 🔻) |
100% | 0% (-50% 🔻) |
34.78% (-21.74% 🔻) |
🔴 | ... / ready.service.ts |
37.5% (-54.17% 🔻) |
100% | 0% (-66.67% 🔻) |
37.5% (-54.17% 🔻) |
🔴 | ... / forceClean.service.ts |
22.08% (-4.24% 🔻) |
100% | 0% | 22.08% (-4.24% 🔻) |
🔴 | ... / reindex.service.ts |
18.62% (-14.71% 🔻) |
100% | 0% | 18.62% (-14.71% 🔻) |
🔴 | ... / autoQueue.ts |
59.49% (-28.9% 🔻) |
85.11% | 70.37% (-8.8% 🔻) |
59.49% (-28.9% 🔻) |
🟡 | ... / blocks.ts |
71.21% (-28.79% 🔻) |
91.67% (+2.78% 🔼) |
75% (-25% 🔻) |
71.21% (-28.79% 🔻) |
🟡 | ... / project.ts |
64.54% (-8.84% 🔻) |
57.41% (-17.17% 🔻) |
77.78% | 64.54% (-8.84% 🔻) |
🟢 | ... / reindex.ts |
82.05% (+48.01% 🔼) |
14.29% (-85.71% 🔻) |
100% (+100% 🔼) |
82.05% (+48.01% 🔼) |
🔴 | ... / yargs.ts |
40.69% (-4.8% 🔻) |
100% | 14.29% | 40.69% (-4.8% 🔻) |
🟢 | ... / SubqueryProject.ts |
100% (+4.48% 🔼) |
66.67% (-15.69% 🔻) |
100% (+14.29% 🔼) |
100% (+4.48% 🔼) |
🟢 | ... / apiPromise.connection.ts |
80% (+10.92% 🔼) |
61.54% (-18.46% 🔻) |
66.67% (+23.81% 🔼) |
80% (+10.92% 🔼) |
🟡 | ... / block-dispatcher.service.ts |
66.35% (-2.52% 🔻) |
100% | 33.33% (+8.33% 🔼) |
66.35% (-2.52% 🔻) |
🔴 | ... / worker-block-dispatcher.service.ts |
24.16% (-12.8% 🔻) |
100% | 0% | 24.16% (-12.8% 🔻) |
🟢 | ... / substrateDictionary.service.ts |
89.62% (-0.94% 🔻) |
60% (-12.73% 🔻) |
100% (+20% 🔼) |
89.62% (-0.94% 🔻) |
🟡 | ... / substrateDictionaryV1.ts |
63.3% (-22.18% 🔻) |
79.49% (+9.72% 🔼) |
53.85% (-29.49% 🔻) |
63.3% (-22.18% 🔻) |
🟡 | ... / substrateDictionaryV2.ts |
73.03% (-2.48% 🔻) |
75% | 33.33% | 73.03% (-2.48% 🔻) |
🟢 | ... / fetch.module.ts |
89.6% (-2.27% 🔻) |
50% (-25% 🔻) |
100% | 89.6% (-2.27% 🔻) |
🔴 | ... / indexer.manager.ts |
50% (-7.55% 🔻) |
100% | 20% (+10.91% 🔼) |
50% (-7.55% 🔻) |
🟡 | ... / base-runtime.service.ts |
72.17% (-0.15% 🔻) |
76.92% (+1.92% 🔼) |
77.78% (+2.78% 🔼) |
72.17% (-0.15% 🔻) |
🟢 | ... / runtimeService.ts |
94.52% (+2.31% 🔼) |
81.82% (-7.07% 🔻) |
100% (+20% 🔼) |
94.52% (+2.31% 🔼) |
🟢 | ... / unfinalizedBlocks.service.ts |
85.45% (-0.82% 🔻) |
100% | 60% (+10% 🔼) |
85.45% (-0.82% 🔻) |
🔴 | ... / http.ts |
50.58% (-29.34% 🔻) |
50% (+10% 🔼) |
42.86% (+12.09% 🔼) |
50.58% (-29.34% 🔻) |
🟢 | ... / project.ts |
88.73% (-0.16% 🔻) |
68.18% | 87.5% | 88.73% (-0.16% 🔻) |
🟢 | ... / buffer.ts |
95.12% (-4.88% 🔻) |
95.83% (-4.17% 🔻) |
90.48% (+6.27% 🔼) |
95.12% (-4.88% 🔻) |
🟢 | ... / builder.ts |
92.77% | 82.14% (-0.62% 🔻) |
100% | 92.77% |
🟡 | ... / logger.ts |
69.19% (-0.41% 🔻) |
48.15% (-6.85% 🔻) |
78.57% (+3.57% 🔼) |
69.19% (-0.41% 🔻) |
Test suite run failed
Failed tests: 11/597. Failed suites: 6/107.
● Dictionary V1 › return dictionary query result
expect(received).toBeGreaterThan(expected)
Matcher error: received value must be a number or bigint
Received has value: undefined
160 | const endBlock = 10001;
161 | const dic = await dictionary.getData(startBlock, endBlock, batchSize);
> 162 | expect(dic?.batchBlocks.length).toBeGreaterThan(1);
| ^
163 | expect(dic?.batchBlocks[0]).toBe(1463);
164 | });
165 |
at Object.<anonymous> (packages/node-core/src/indexer/dictionary/v1/dictionaryV1.spec.ts:162:37)
● Individual dictionary V1 test › test query the correct range
expect(received).toEqual(expected) // deep equality
Expected: [1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, …]
Received: undefined
249 | const endBlock = 10001;
250 | const dic = await dictionary.getData(startBlock, endBlock, batchSize);
> 251 | expect(dic?.batchBlocks).toEqual(range(startBlock, startBlock + batchSize));
| ^
252 | });
253 |
254 | it('use minimum value of event/extrinsic returned block as batch end block', async () => {
at Object.<anonymous> (packages/node-core/src/indexer/dictionary/v1/dictionaryV1.spec.ts:251:30)
● Individual dictionary V1 test › use minimum value of event/extrinsic returned block as batch end block
ApolloError: Response not successful: Received status code 500
at new ApolloError (node_modules/@apollo/client/errors/index.js:40:28)
at node_modules/@apollo/client/core/QueryManager.js:777:71
at both (node_modules/@apollo/client/utilities/observables/asyncMap.js:22:31)
at node_modules/@apollo/client/utilities/observables/asyncMap.js:11:72
at Object.then (node_modules/@apollo/client/utilities/observables/asyncMap.js:11:24)
at Object.error (node_modules/@apollo/client/utilities/observables/asyncMap.js:24:49)
at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
at node_modules/@apollo/client/utilities/observables/iteration.js:7:68
at Array.forEach (<anonymous>)
at iterateObserversSafely (node_modules/@apollo/client/utilities/observables/iteration.js:7:25)
at Object.error (node_modules/@apollo/client/utilities/observables/Concast.js:76:21)
at notifySubscription (node_modules/zen-observable/lib/Observable.js:140:18)
at onNotify (node_modules/zen-observable/lib/Observable.js:179:3)
at SubscriptionObserver.error (node_modules/zen-observable/lib/Observable.js:240:7)
at handleError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:170:14)
at node_modules/@apollo/client/link/http/createHttpLink.js:145:17
Cause:
ServerError: Response not successful: Received status code 500
at Object.throwServerError (node_modules/@apollo/client/link/utils/throwServerError.js:2:17)
at throwServerError (node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:120:9)
at node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js:176:48
● Substrate DictionaryService › should return all specVersion
expect(received).toBeGreaterThan(expected)
Matcher error: received value must be a number or bigint
Received has value: undefined
55 | const specVersions = await dictionaryService.getSpecVersions();
56 |
> 57 | expect(specVersions?.length).toBeGreaterThan(0);
| ^
58 | dictionaryService.onApplicationShutdown();
59 | }, 50000);
60 | });
at Object.<anonymous> (packages/node/src/indexer/dictionary/v1/substrateDictionaryV1.spec.ts:57:34)
● CLI deploy, delete, promote › Deploy to Hosted Service and Delete
Error deploying to hosted service: The selected cluster is not supported
77 | export function errorHandle(e: any, msg: string): Error {
78 | if (axios.isAxiosError(e) && e?.response?.data) {
> 79 | return new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
| ^
80 | }
81 |
82 | return new Error(`${msg} ${e.message}`);
at errorHandle (packages/cli/src/utils/utils.ts:79:12)
at createDeployment (packages/cli/src/controller/deploy-controller.ts:62:22)
at Object.<anonymous> (packages/cli/src/controller/deploy-controller.test.ts:115:27)
● CLI deploy, delete, promote › reDeploy to Hosted Service
Error deploying to hosted service: The selected cluster is not supported
77 | export function errorHandle(e: any, msg: string): Error {
78 | if (axios.isAxiosError(e) && e?.response?.data) {
> 79 | return new Error(`${msg} ${e.response.data.message ?? e.response.data}`);
| ^
80 | }
81 |
82 | return new Error(`${msg} ${e.message}`);
at errorHandle (packages/cli/src/utils/utils.ts:79:12)
at createDeployment (packages/cli/src/controller/deploy-controller.ts:62:22)
at Object.<anonymous> (packages/cli/src/controller/deploy-controller.test.ts:159:26)
● Test suite failed to run
TypeError: Class extends value undefined is not a constructor or null
84 | }
85 |
> 86 | class DsPluginSandbox<P> extends Sandbox {
| ^
87 | constructor(option: Omit<SandboxOption, 'store'>, nodeConfig: NodeConfig) {
88 | super(
89 | option,
at Object.<anonymous> (packages/node-core/src/indexer/ds-processor.service.ts:86:34)
at Object.<anonymous> (packages/node-core/src/indexer/indexer.manager.ts:13:1)
at Object.<anonymous> (packages/node-core/src/indexer/index.ts:23:1)
at Object.<anonymous> (packages/node-core/src/db/migration-service/SchemaMigration.service.ts:8:1)
at Object.<anonymous> (packages/node-core/src/db/migration-service/index.ts:5:1)
at Object.<anonymous> (packages/node-core/src/db/index.ts:5:1)
at Object.<anonymous> (packages/node-core/src/utils/graphql.ts:19:1)
at Object.<anonymous> (packages/node-core/src/utils/index.ts:7:1)
at Object.<anonymous> (packages/node-core/src/indexer/sandbox.ts:14:1)
at Object.<anonymous> (packages/node-core/src/indexer/sandbox.spec.ts:6:1)
● IPFSClient Lite › should pin a content with given CID to a remote pinning service
thrown: "Exceeded timeout of 5000 ms for a test.
Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout."
59 | });
60 | //
> 61 | it('should pin a content with given CID to a remote pinning service', async () => {
| ^
62 | const testCID = 'QmQKeYj2UZJoTN5yXSvzJy4A3CjUuSmEWAKeZV4herh5bS';
63 | const result = await writeClient.pinRemoteAdd(testCID, {service: 'onfinality'});
64 | expect(result.Cid).toBe(testCID);
at packages/common/src/project/IpfsHttpClientLite/IpfsHttpClientLite.spec.ts:61:3
at Object.<anonymous> (packages/common/src/project/IpfsHttpClientLite/IpfsHttpClientLite.spec.ts:9:1)
● Cli publish › should upload appropriate project to IPFS
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(75,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(87,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(63,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(69,48)
TS2558: Expected 0 type arguments, but got 1.
44 | const outputDir = path.resolve(directory, flags.output ?? 'dist');
45 |
> 46 | await runWebpack(buildEntries, directory, outputDir, isDev, true);
| ^
47 | if (!flags.silent) {
48 | this.log('Building and packing code ...');
49 | this.log('Done!');
at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15)
at Build.error (node_modules/@oclif/core/lib/command.js:139:23)
at Build.run (packages/cli/src/commands/build/index.ts:46:18)
at async Build._run (node_modules/@oclif/core/lib/command.js:117:22)
at async createMultiChainTestProject (packages/cli/src/createProject.fixtures.ts:89:5)
at async Promise.all (index 1)
at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:18:21)
● Cli publish › convert to deployment and removed descriptive field
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(75,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(87,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(63,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(69,48)
TS2558: Expected 0 type arguments, but got 1.
44 | const outputDir = path.resolve(directory, flags.output ?? 'dist');
45 |
> 46 | await runWebpack(buildEntries, directory, outputDir, isDev, true);
| ^
47 | if (!flags.silent) {
48 | this.log('Building and packing code ...');
49 | this.log('Done!');
at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15)
at Build.error (node_modules/@oclif/core/lib/command.js:139:23)
at Build.run (packages/cli/src/commands/build/index.ts:46:18)
at async Build._run (node_modules/@oclif/core/lib/command.js:117:22)
at async createMultiChainTestProject (packages/cli/src/createProject.fixtures.ts:89:5)
at async Promise.all (index 1)
at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:18:21)
● Cli publish › convert js object to JSON object
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(75,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(87,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(63,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(69,48)
TS2558: Expected 0 type arguments, but got 1.
44 | const outputDir = path.resolve(directory, flags.output ?? 'dist');
45 |
> 46 | await runWebpack(buildEntries, directory, outputDir, isDev, true);
| ^
47 | if (!flags.silent) {
48 | this.log('Building and packing code ...');
49 | this.log('Done!');
at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15)
at Build.error (node_modules/@oclif/core/lib/command.js:139:23)
at Build.run (packages/cli/src/commands/build/index.ts:46:18)
at async Build._run (node_modules/@oclif/core/lib/command.js:117:22)
at async createMultiChainTestProject (packages/cli/src/createProject.fixtures.ts:89:5)
at async Promise.all (index 1)
at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:18:21)
● Cli publish › Get directory CID from multi-chain project
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(75,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ClaimRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(81,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/ForgeRecord.ts(87,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(63,48)
TS2558: Expected 0 type arguments, but got 1.
[tsl] ERROR in /tmp/Glj9V1/multi_mocked_starter/src/types/models/NFT.ts(69,48)
TS2558: Expected 0 type arguments, but got 1.
44 | const outputDir = path.resolve(directory, flags.output ?? 'dist');
45 |
> 46 | await runWebpack(buildEntries, directory, outputDir, isDev, true);
| ^
47 | if (!flags.silent) {
48 | this.log('Building and packing code ...');
49 | this.log('Done!');
at Object.error (node_modules/@oclif/core/lib/errors/index.js:27:15)
at Build.error (node_modules/@oclif/core/lib/command.js:139:23)
at Build.run (packages/cli/src/commands/build/index.ts:46:18)
at async Build._run (node_modules/@oclif/core/lib/command.js:117:22)
at async createMultiChainTestProject (packages/cli/src/createProject.fixtures.ts:89:5)
at async Promise.all (index 1)
at async Object.<anonymous> (packages/cli/src/controller/publish-controller.spec.ts:18:21)
Report generated by 🧪jest coverage report action from b639369
acc.finalize.push(evt); | ||
} else if (evt.extrinsic?.idx) { | ||
const idx = evt.extrinsic.idx; | ||
acc[idx] = acc[idx] || []; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
acc[idx] = acc[idx] || []; | |
acc[idx] ??= []; |
packages/node/src/utils/substrate.ts
Outdated
if (!acc[extrinsicIdx]) { | ||
acc[extrinsicIdx] = []; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if (!acc[extrinsicIdx]) { | |
acc[extrinsicIdx] = []; | |
} | |
acc[extrinsicIdx] ??= [] |
} | ||
return acc; | ||
}, | ||
{} as Record<number | 'init' | 'finalize', SubstrateEvent[]>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
{} as Record<number | 'init' | 'finalize', SubstrateEvent[]>, | |
{init: [], finalize: []} as Record<number | 'init' | 'finalize', SubstrateEvent[]>, |
You can remove other ?? []
.
Description
Fixes iterating block events multiple times, this can be a huge perf improvement for large substrate blocks
Type of change
Please delete options that are not relevant.
Checklist