Skip to content
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

refactor: update distributed aggregation selection error logs #5780

Merged
merged 1 commit into from
Jul 24, 2023

Conversation

nflaig
Copy link
Member

@nflaig nflaig commented Jul 20, 2023

Motivation

The error that distributed aggregation selection failed because client did not receive combined selection proofs before certain time in slot happens quite frequently if peers are offline and threshold (3/4) is not fulfilled.

After seeing this error quite a few times I think it should be less technical (not use operation id from spec).

Description

  • Update error logs if client failed to receive combined selection proofs before x time of slot
  • Remove unnecessary catch block, there is no scenario where we would swallow an error here, i.e. an error that is thrown after x time of slot such as timeouts but those are handled as API errors now (see Handle timeout errors as api errors #5331)

@nflaig nflaig requested a review from a team as a code owner July 20, 2023 11:48
@github-actions
Copy link
Contributor

Performance Report

✔️ no performance regression detected

Full benchmark results
Benchmark suite Current: 6b2e34b Previous: fce550c Ratio
getPubkeys - index2pubkey - req 1000 vs - 250000 vc 567.72 us/op 662.29 us/op 0.86
getPubkeys - validatorsArr - req 1000 vs - 250000 vc 80.477 us/op 98.601 us/op 0.82
BLS verify - blst-native 1.2833 ms/op 1.2351 ms/op 1.04
BLS verifyMultipleSignatures 3 - blst-native 2.5453 ms/op 2.5055 ms/op 1.02
BLS verifyMultipleSignatures 8 - blst-native 5.4975 ms/op 5.4163 ms/op 1.01
BLS verifyMultipleSignatures 32 - blst-native 19.851 ms/op 19.578 ms/op 1.01
BLS aggregatePubkeys 32 - blst-native 26.326 us/op 26.846 us/op 0.98
BLS aggregatePubkeys 128 - blst-native 104.09 us/op 103.30 us/op 1.01
getAttestationsForBlock 57.925 ms/op 49.945 ms/op 1.16
isKnown best case - 1 super set check 303.00 ns/op 277.00 ns/op 1.09
isKnown normal case - 2 super set checks 275.00 ns/op 280.00 ns/op 0.98
isKnown worse case - 16 super set checks 284.00 ns/op 265.00 ns/op 1.07
CheckpointStateCache - add get delete 5.4060 us/op 4.9330 us/op 1.10
validate api signedAggregateAndProof - struct 2.8869 ms/op 2.8189 ms/op 1.02
validate gossip signedAggregateAndProof - struct 2.8983 ms/op 2.8307 ms/op 1.02
validate api attestation - struct 1.3813 ms/op 1.3492 ms/op 1.02
validate gossip attestation - struct 1.4090 ms/op 1.3866 ms/op 1.02
pickEth1Vote - no votes 1.3875 ms/op 1.2753 ms/op 1.09
pickEth1Vote - max votes 8.2935 ms/op 10.889 ms/op 0.76
pickEth1Vote - Eth1Data hashTreeRoot value x2048 8.8616 ms/op 10.250 ms/op 0.86
pickEth1Vote - Eth1Data hashTreeRoot tree x2048 14.370 ms/op 15.507 ms/op 0.93
pickEth1Vote - Eth1Data fastSerialize value x2048 688.60 us/op 694.49 us/op 0.99
pickEth1Vote - Eth1Data fastSerialize tree x2048 5.9919 ms/op 5.4204 ms/op 1.11
bytes32 toHexString 553.00 ns/op 678.00 ns/op 0.82
bytes32 Buffer.toString(hex) 299.00 ns/op 292.00 ns/op 1.02
bytes32 Buffer.toString(hex) from Uint8Array 460.00 ns/op 523.00 ns/op 0.88
bytes32 Buffer.toString(hex) + 0x 314.00 ns/op 298.00 ns/op 1.05
Object access 1 prop 0.20700 ns/op 0.16700 ns/op 1.24
Map access 1 prop 0.15700 ns/op 0.14800 ns/op 1.06
Object get x1000 7.6640 ns/op 7.6670 ns/op 1.00
Map get x1000 0.70300 ns/op 0.67600 ns/op 1.04
Object set x1000 59.801 ns/op 55.039 ns/op 1.09
Map set x1000 42.841 ns/op 43.500 ns/op 0.98
Return object 10000 times 0.26410 ns/op 0.24600 ns/op 1.07
Throw Error 10000 times 4.0800 us/op 4.0886 us/op 1.00
fastMsgIdFn sha256 / 200 bytes 3.5970 us/op 3.2900 us/op 1.09
fastMsgIdFn h32 xxhash / 200 bytes 303.00 ns/op 300.00 ns/op 1.01
fastMsgIdFn h64 xxhash / 200 bytes 360.00 ns/op 349.00 ns/op 1.03
fastMsgIdFn sha256 / 1000 bytes 11.900 us/op 11.839 us/op 1.01
fastMsgIdFn h32 xxhash / 1000 bytes 432.00 ns/op 448.00 ns/op 0.96
fastMsgIdFn h64 xxhash / 1000 bytes 453.00 ns/op 443.00 ns/op 1.02
fastMsgIdFn sha256 / 10000 bytes 106.85 us/op 103.18 us/op 1.04
fastMsgIdFn h32 xxhash / 10000 bytes 2.0340 us/op 2.0040 us/op 1.01
fastMsgIdFn h64 xxhash / 10000 bytes 1.3850 us/op 1.3460 us/op 1.03
enrSubnets - fastDeserialize 64 bits 1.3000 us/op 1.3140 us/op 0.99
enrSubnets - ssz BitVector 64 bits 434.00 ns/op 456.00 ns/op 0.95
enrSubnets - fastDeserialize 4 bits 187.00 ns/op 186.00 ns/op 1.01
enrSubnets - ssz BitVector 4 bits 473.00 ns/op 442.00 ns/op 1.07
prioritizePeers score -10:0 att 32-0.1 sync 2-0 110.82 us/op 106.33 us/op 1.04
prioritizePeers score 0:0 att 32-0.25 sync 2-0.25 148.90 us/op 145.41 us/op 1.02
prioritizePeers score 0:0 att 32-0.5 sync 2-0.5 201.52 us/op 184.72 us/op 1.09
prioritizePeers score 0:0 att 64-0.75 sync 4-0.75 355.14 us/op 324.09 us/op 1.10
prioritizePeers score 0:0 att 64-1 sync 4-1 451.64 us/op 363.85 us/op 1.24
array of 16000 items push then shift 1.7591 us/op 1.6563 us/op 1.06
LinkedList of 16000 items push then shift 9.7490 ns/op 9.2690 ns/op 1.05
array of 16000 items push then pop 60.886 ns/op 59.689 ns/op 1.02
LinkedList of 16000 items push then pop 9.0060 ns/op 8.9790 ns/op 1.00
array of 24000 items push then shift 2.5108 us/op 2.4519 us/op 1.02
LinkedList of 24000 items push then shift 9.4510 ns/op 8.9750 ns/op 1.05
array of 24000 items push then pop 75.801 ns/op 110.32 ns/op 0.69
LinkedList of 24000 items push then pop 9.1810 ns/op 8.5650 ns/op 1.07
intersect bitArray bitLen 8 7.0640 ns/op 6.7330 ns/op 1.05
intersect array and set length 8 61.807 ns/op 57.981 ns/op 1.07
intersect bitArray bitLen 128 32.991 ns/op 31.435 ns/op 1.05
intersect array and set length 128 1.0262 us/op 766.49 ns/op 1.34
bitArray.getTrueBitIndexes() bitLen 128 1.8550 us/op 1.3940 us/op 1.33
bitArray.getTrueBitIndexes() bitLen 248 3.0140 us/op 2.3420 us/op 1.29
bitArray.getTrueBitIndexes() bitLen 512 6.7250 us/op 4.6350 us/op 1.45
Buffer.concat 32 items 1.2650 us/op 1.0370 us/op 1.22
Uint8Array.set 32 items 2.1370 us/op 1.8250 us/op 1.17
transfer serialized Status (84 B) 2.0280 us/op 1.7990 us/op 1.13
copy serialized Status (84 B) 1.6890 us/op 1.5100 us/op 1.12
transfer serialized SignedVoluntaryExit (112 B) 2.2220 us/op 1.9230 us/op 1.16
copy serialized SignedVoluntaryExit (112 B) 1.7340 us/op 1.6060 us/op 1.08
transfer serialized ProposerSlashing (416 B) 2.7350 us/op 2.2750 us/op 1.20
copy serialized ProposerSlashing (416 B) 2.9450 us/op 2.0950 us/op 1.41
transfer serialized Attestation (485 B) 3.0870 us/op 2.5160 us/op 1.23
copy serialized Attestation (485 B) 3.0080 us/op 2.1610 us/op 1.39
transfer serialized AttesterSlashing (33232 B) 3.4540 us/op 2.4390 us/op 1.42
copy serialized AttesterSlashing (33232 B) 7.6990 us/op 5.0240 us/op 1.53
transfer serialized Small SignedBeaconBlock (128000 B) 3.2210 us/op 2.4300 us/op 1.33
copy serialized Small SignedBeaconBlock (128000 B) 18.719 us/op 14.202 us/op 1.32
transfer serialized Avg SignedBeaconBlock (200000 B) 3.5540 us/op 2.7700 us/op 1.28
copy serialized Avg SignedBeaconBlock (200000 B) 22.589 us/op 16.743 us/op 1.35
transfer serialized BlobsSidecar (524380 B) 3.5510 us/op 2.7540 us/op 1.29
copy serialized BlobsSidecar (524380 B) 81.427 us/op 85.272 us/op 0.95
transfer serialized Big SignedBeaconBlock (1000000 B) 3.7370 us/op 2.8520 us/op 1.31
copy serialized Big SignedBeaconBlock (1000000 B) 176.79 us/op 254.81 us/op 0.69
pass gossip attestations to forkchoice per slot 2.2887 ms/op 2.0936 ms/op 1.09
forkChoice updateHead vc 100000 bc 64 eq 0 2.4184 ms/op 2.1134 ms/op 1.14
forkChoice updateHead vc 600000 bc 64 eq 0 14.171 ms/op 13.971 ms/op 1.01
forkChoice updateHead vc 1000000 bc 64 eq 0 19.410 ms/op 19.512 ms/op 0.99
forkChoice updateHead vc 600000 bc 320 eq 0 21.949 ms/op 16.386 ms/op 1.34
forkChoice updateHead vc 600000 bc 1200 eq 0 91.553 ms/op 88.176 ms/op 1.04
forkChoice updateHead vc 600000 bc 64 eq 1000 20.266 ms/op 22.191 ms/op 0.91
forkChoice updateHead vc 600000 bc 64 eq 10000 23.621 ms/op 23.893 ms/op 0.99
forkChoice updateHead vc 600000 bc 64 eq 300000 32.797 ms/op 29.048 ms/op 1.13
computeDeltas 3.2053 ms/op 3.1587 ms/op 1.01
computeProposerBoostScoreFromBalances 423.35 us/op 382.64 us/op 1.11
altair processAttestation - 250000 vs - 7PWei normalcase 3.7756 ms/op 2.0616 ms/op 1.83
altair processAttestation - 250000 vs - 7PWei worstcase 5.3633 ms/op 3.1031 ms/op 1.73
altair processAttestation - setStatus - 1/6 committees join 205.13 us/op 173.90 us/op 1.18
altair processAttestation - setStatus - 1/3 committees join 379.28 us/op 336.51 us/op 1.13
altair processAttestation - setStatus - 1/2 committees join 523.85 us/op 452.43 us/op 1.16
altair processAttestation - setStatus - 2/3 committees join 649.29 us/op 572.61 us/op 1.13
altair processAttestation - setStatus - 4/5 committees join 899.45 us/op 778.51 us/op 1.16
altair processAttestation - setStatus - 100% committees join 1.0760 ms/op 912.40 us/op 1.18
altair processBlock - 250000 vs - 7PWei normalcase 10.647 ms/op 10.300 ms/op 1.03
altair processBlock - 250000 vs - 7PWei normalcase hashState 18.790 ms/op 16.284 ms/op 1.15
altair processBlock - 250000 vs - 7PWei worstcase 43.046 ms/op 36.282 ms/op 1.19
altair processBlock - 250000 vs - 7PWei worstcase hashState 64.843 ms/op 58.722 ms/op 1.10
phase0 processBlock - 250000 vs - 7PWei normalcase 2.8984 ms/op 2.2240 ms/op 1.30
phase0 processBlock - 250000 vs - 7PWei worstcase 35.054 ms/op 28.076 ms/op 1.25
altair processEth1Data - 250000 vs - 7PWei normalcase 679.13 us/op 447.50 us/op 1.52
getExpectedWithdrawals 250000 eb:1,eth1:1,we:0,wn:0,smpl:15 17.021 us/op 9.3420 us/op 1.82
getExpectedWithdrawals 250000 eb:0.95,eth1:0.1,we:0.05,wn:0,smpl:219 75.484 us/op 56.717 us/op 1.33
getExpectedWithdrawals 250000 eb:0.95,eth1:0.3,we:0.05,wn:0,smpl:42 26.754 us/op 15.259 us/op 1.75
getExpectedWithdrawals 250000 eb:0.95,eth1:0.7,we:0.05,wn:0,smpl:18 10.740 us/op 12.082 us/op 0.89
getExpectedWithdrawals 250000 eb:0.1,eth1:0.1,we:0,wn:0,smpl:1020 187.80 us/op 139.78 us/op 1.34
getExpectedWithdrawals 250000 eb:0.03,eth1:0.03,we:0,wn:0,smpl:11777 1.2294 ms/op 1.0126 ms/op 1.21
getExpectedWithdrawals 250000 eb:0.01,eth1:0.01,we:0,wn:0,smpl:16384 1.8303 ms/op 1.4342 ms/op 1.28
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,smpl:16384 1.6034 ms/op 1.4220 ms/op 1.13
getExpectedWithdrawals 250000 eb:0,eth1:0,we:0,wn:0,nocache,smpl:16384 3.8419 ms/op 2.6866 ms/op 1.43
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,smpl:16384 2.6905 ms/op 2.3118 ms/op 1.16
getExpectedWithdrawals 250000 eb:0,eth1:1,we:0,wn:0,nocache,smpl:16384 5.9084 ms/op 5.1218 ms/op 1.15
Tree 40 250000 create 333.84 ms/op 323.82 ms/op 1.03
Tree 40 250000 get(125000) 200.78 ns/op 188.15 ns/op 1.07
Tree 40 250000 set(125000) 992.37 ns/op 845.11 ns/op 1.17
Tree 40 250000 toArray() 18.377 ms/op 16.141 ms/op 1.14
Tree 40 250000 iterate all - toArray() + loop 19.914 ms/op 17.146 ms/op 1.16
Tree 40 250000 iterate all - get(i) 69.940 ms/op 63.799 ms/op 1.10
MutableVector 250000 create 12.665 ms/op 11.498 ms/op 1.10
MutableVector 250000 get(125000) 6.7190 ns/op 6.3080 ns/op 1.07
MutableVector 250000 set(125000) 262.63 ns/op 245.71 ns/op 1.07
MutableVector 250000 toArray() 3.3840 ms/op 3.0510 ms/op 1.11
MutableVector 250000 iterate all - toArray() + loop 3.4804 ms/op 3.0625 ms/op 1.14
MutableVector 250000 iterate all - get(i) 1.5866 ms/op 1.4483 ms/op 1.10
Array 250000 create 3.0080 ms/op 2.6917 ms/op 1.12
Array 250000 clone - spread 1.2450 ms/op 980.12 us/op 1.27
Array 250000 get(125000) 0.61500 ns/op 0.48300 ns/op 1.27
Array 250000 set(125000) 0.69000 ns/op 0.55300 ns/op 1.25
Array 250000 iterate all - loop 86.929 us/op 79.855 us/op 1.09
effectiveBalanceIncrements clone Uint8Array 300000 33.131 us/op 21.460 us/op 1.54
effectiveBalanceIncrements clone MutableVector 300000 373.00 ns/op 269.00 ns/op 1.39
effectiveBalanceIncrements rw all Uint8Array 300000 181.37 us/op 171.70 us/op 1.06
effectiveBalanceIncrements rw all MutableVector 300000 90.946 ms/op 72.647 ms/op 1.25
phase0 afterProcessEpoch - 250000 vs - 7PWei 116.50 ms/op 110.97 ms/op 1.05
phase0 beforeProcessEpoch - 250000 vs - 7PWei 36.049 ms/op 37.334 ms/op 0.97
altair processEpoch - mainnet_e81889 323.72 ms/op 311.50 ms/op 1.04
mainnet_e81889 - altair beforeProcessEpoch 59.230 ms/op 60.453 ms/op 0.98
mainnet_e81889 - altair processJustificationAndFinalization 17.501 us/op 13.443 us/op 1.30
mainnet_e81889 - altair processInactivityUpdates 5.7855 ms/op 4.8286 ms/op 1.20
mainnet_e81889 - altair processRewardsAndPenalties 64.629 ms/op 49.150 ms/op 1.31
mainnet_e81889 - altair processRegistryUpdates 2.8500 us/op 2.3270 us/op 1.22
mainnet_e81889 - altair processSlashings 430.00 ns/op 526.00 ns/op 0.82
mainnet_e81889 - altair processEth1DataReset 489.00 ns/op 503.00 ns/op 0.97
mainnet_e81889 - altair processEffectiveBalanceUpdates 1.2711 ms/op 1.2467 ms/op 1.02
mainnet_e81889 - altair processSlashingsReset 2.5980 us/op 3.3380 us/op 0.78
mainnet_e81889 - altair processRandaoMixesReset 4.1720 us/op 4.2940 us/op 0.97
mainnet_e81889 - altair processHistoricalRootsUpdate 766.00 ns/op 711.00 ns/op 1.08
mainnet_e81889 - altair processParticipationFlagUpdates 1.4950 us/op 1.7290 us/op 0.86
mainnet_e81889 - altair processSyncCommitteeUpdates 686.00 ns/op 571.00 ns/op 1.20
mainnet_e81889 - altair afterProcessEpoch 128.45 ms/op 123.42 ms/op 1.04
phase0 processEpoch - mainnet_e58758 365.20 ms/op 354.91 ms/op 1.03
mainnet_e58758 - phase0 beforeProcessEpoch 148.78 ms/op 135.07 ms/op 1.10
mainnet_e58758 - phase0 processJustificationAndFinalization 14.790 us/op 13.802 us/op 1.07
mainnet_e58758 - phase0 processRewardsAndPenalties 66.190 ms/op 63.945 ms/op 1.04
mainnet_e58758 - phase0 processRegistryUpdates 14.692 us/op 9.6660 us/op 1.52
mainnet_e58758 - phase0 processSlashings 503.00 ns/op 484.00 ns/op 1.04
mainnet_e58758 - phase0 processEth1DataReset 404.00 ns/op 462.00 ns/op 0.87
mainnet_e58758 - phase0 processEffectiveBalanceUpdates 1.8326 ms/op 962.59 us/op 1.90
mainnet_e58758 - phase0 processSlashingsReset 2.2370 us/op 1.9150 us/op 1.17
mainnet_e58758 - phase0 processRandaoMixesReset 4.7440 us/op 4.4810 us/op 1.06
mainnet_e58758 - phase0 processHistoricalRootsUpdate 1.1220 us/op 593.00 ns/op 1.89
mainnet_e58758 - phase0 processParticipationRecordUpdates 3.8280 us/op 2.8930 us/op 1.32
mainnet_e58758 - phase0 afterProcessEpoch 101.59 ms/op 100.15 ms/op 1.01
phase0 processEffectiveBalanceUpdates - 250000 normalcase 1.2728 ms/op 1.2182 ms/op 1.04
phase0 processEffectiveBalanceUpdates - 250000 worstcase 0.5 1.4534 ms/op 1.4365 ms/op 1.01
altair processInactivityUpdates - 250000 normalcase 25.893 ms/op 24.942 ms/op 1.04
altair processInactivityUpdates - 250000 worstcase 26.242 ms/op 23.924 ms/op 1.10
phase0 processRegistryUpdates - 250000 normalcase 9.8070 us/op 9.2400 us/op 1.06
phase0 processRegistryUpdates - 250000 badcase_full_deposits 369.04 us/op 309.03 us/op 1.19
phase0 processRegistryUpdates - 250000 worstcase 0.5 139.91 ms/op 114.56 ms/op 1.22
altair processRewardsAndPenalties - 250000 normalcase 66.100 ms/op 70.840 ms/op 0.93
altair processRewardsAndPenalties - 250000 worstcase 70.845 ms/op 70.285 ms/op 1.01
phase0 getAttestationDeltas - 250000 normalcase 8.4711 ms/op 7.5873 ms/op 1.12
phase0 getAttestationDeltas - 250000 worstcase 8.4145 ms/op 7.8994 ms/op 1.07
phase0 processSlashings - 250000 worstcase 2.3923 ms/op 2.2597 ms/op 1.06
altair processSyncCommitteeUpdates - 250000 155.11 ms/op 149.73 ms/op 1.04
BeaconState.hashTreeRoot - No change 267.00 ns/op 251.00 ns/op 1.06
BeaconState.hashTreeRoot - 1 full validator 52.448 us/op 49.399 us/op 1.06
BeaconState.hashTreeRoot - 32 full validator 516.69 us/op 512.44 us/op 1.01
BeaconState.hashTreeRoot - 512 full validator 5.7465 ms/op 5.4735 ms/op 1.05
BeaconState.hashTreeRoot - 1 validator.effectiveBalance 64.512 us/op 60.022 us/op 1.07
BeaconState.hashTreeRoot - 32 validator.effectiveBalance 915.82 us/op 856.79 us/op 1.07
BeaconState.hashTreeRoot - 512 validator.effectiveBalance 12.055 ms/op 10.951 ms/op 1.10
BeaconState.hashTreeRoot - 1 balances 49.113 us/op 50.025 us/op 0.98
BeaconState.hashTreeRoot - 32 balances 456.07 us/op 438.42 us/op 1.04
BeaconState.hashTreeRoot - 512 balances 4.5878 ms/op 4.4226 ms/op 1.04
BeaconState.hashTreeRoot - 250000 balances 71.300 ms/op 76.536 ms/op 0.93
aggregationBits - 2048 els - zipIndexesInBitList 15.908 us/op 13.816 us/op 1.15
regular array get 100000 times 33.674 us/op 32.109 us/op 1.05
wrappedArray get 100000 times 33.631 us/op 32.096 us/op 1.05
arrayWithProxy get 100000 times 15.023 ms/op 14.630 ms/op 1.03
ssz.Root.equals 207.00 ns/op 200.00 ns/op 1.03
byteArrayEquals 205.00 ns/op 197.00 ns/op 1.04
shuffle list - 16384 els 7.2276 ms/op 6.8183 ms/op 1.06
shuffle list - 250000 els 105.01 ms/op 99.337 ms/op 1.06
processSlot - 1 slots 8.7400 us/op 8.1400 us/op 1.07
processSlot - 32 slots 1.4497 ms/op 1.2912 ms/op 1.12
getEffectiveBalanceIncrementsZeroInactive - 250000 vs - 7PWei 56.548 ms/op 54.114 ms/op 1.04
getCommitteeAssignments - req 1 vs - 250000 vc 2.6399 ms/op 2.4258 ms/op 1.09
getCommitteeAssignments - req 100 vs - 250000 vc 3.9097 ms/op 3.5866 ms/op 1.09
getCommitteeAssignments - req 1000 vs - 250000 vc 4.2973 ms/op 3.9214 ms/op 1.10
RootCache.getBlockRootAtSlot - 250000 vs - 7PWei 5.4100 ns/op 4.6000 ns/op 1.18
state getBlockRootAtSlot - 250000 vs - 7PWei 579.41 ns/op 694.15 ns/op 0.83
computeProposers - vc 250000 9.4600 ms/op 8.6222 ms/op 1.10
computeEpochShuffling - vc 250000 119.06 ms/op 101.95 ms/op 1.17
getNextSyncCommittee - vc 250000 158.41 ms/op 149.93 ms/op 1.06
computeSigningRoot for AttestationData 13.917 us/op 13.051 us/op 1.07
hash AttestationData serialized data then Buffer.toString(base64) 2.4245 us/op 2.2692 us/op 1.07
toHexString serialized data 1.1249 us/op 1.0387 us/op 1.08
Buffer.toString(base64) 226.75 ns/op 218.37 ns/op 1.04

by benchmarkbot/action

@wemeetagain wemeetagain merged commit 2f28718 into unstable Jul 24, 2023
12 checks passed
@wemeetagain wemeetagain deleted the nflaig/dvt-aggregation-logs branch July 24, 2023 16:57
@wemeetagain
Copy link
Member

🎉 This PR is included in v1.10.0 🎉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants