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

First round of fixes in making gossip publishing good for the validator: See comment #9972

Merged
merged 101 commits into from
Apr 21, 2024
Merged
Changes from 1 commit
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
1c17c52
save
Giulio2002 Apr 17, 2024
bea66f1
save
Giulio2002 Apr 17, 2024
8b96825
save
Giulio2002 Apr 17, 2024
4de3055
save
Giulio2002 Apr 17, 2024
e26fc9a
save
Giulio2002 Apr 17, 2024
5364655
save
Giulio2002 Apr 17, 2024
540c2ff
save
Giulio2002 Apr 17, 2024
6cf0ba3
save
Giulio2002 Apr 17, 2024
94de4ce
save
Giulio2002 Apr 17, 2024
5a192dd
save
Giulio2002 Apr 17, 2024
9a7d6cd
save
Giulio2002 Apr 17, 2024
a3afbfc
save
Giulio2002 Apr 17, 2024
15f4b24
save
Giulio2002 Apr 17, 2024
be135bc
save
Giulio2002 Apr 17, 2024
1da2bc6
save
Giulio2002 Apr 17, 2024
4e8d50a
save
Giulio2002 Apr 17, 2024
5b0ae23
save
Giulio2002 Apr 17, 2024
1cd72d7
save
Giulio2002 Apr 17, 2024
d17e867
save
Giulio2002 Apr 17, 2024
3193a6e
save
Giulio2002 Apr 17, 2024
a35528a
save
Giulio2002 Apr 17, 2024
bb32e97
save
Giulio2002 Apr 17, 2024
14079b3
save
Giulio2002 Apr 17, 2024
24229de
save
Giulio2002 Apr 17, 2024
c6d324b
save
Giulio2002 Apr 17, 2024
35f18c9
save
Giulio2002 Apr 17, 2024
df776cc
save
Giulio2002 Apr 17, 2024
e77e925
save
Giulio2002 Apr 17, 2024
4266e8e
save
Giulio2002 Apr 17, 2024
b1f01df
save
Giulio2002 Apr 17, 2024
1256e01
save
Giulio2002 Apr 17, 2024
8b36363
save
Giulio2002 Apr 17, 2024
e8eadf1
save
Giulio2002 Apr 17, 2024
8e9f1d3
save
Giulio2002 Apr 17, 2024
43cb76b
save
Giulio2002 Apr 17, 2024
8963fad
save
Giulio2002 Apr 17, 2024
e557f36
save
Giulio2002 Apr 17, 2024
fc339d1
save
Giulio2002 Apr 17, 2024
96352d0
save
Giulio2002 Apr 17, 2024
e740116
save
Giulio2002 Apr 17, 2024
22ac4f8
save
Giulio2002 Apr 17, 2024
f7424f7
save
Giulio2002 Apr 17, 2024
c3e61f1
save
Giulio2002 Apr 17, 2024
a7da4d1
save
Giulio2002 Apr 17, 2024
54ff39d
save
Giulio2002 Apr 17, 2024
a467753
save
Giulio2002 Apr 18, 2024
01c2a2a
save
Giulio2002 Apr 18, 2024
ea10e9c
save
Giulio2002 Apr 18, 2024
2708aa5
save
Giulio2002 Apr 18, 2024
07fee55
save
Giulio2002 Apr 18, 2024
58050dc
save
Giulio2002 Apr 18, 2024
9e5d8f1
save
Giulio2002 Apr 18, 2024
8848c00
save
Giulio2002 Apr 18, 2024
a33a810
save
Giulio2002 Apr 18, 2024
cee7cc4
save
Giulio2002 Apr 18, 2024
5b4a6a3
save
Giulio2002 Apr 18, 2024
06ecac9
save
Giulio2002 Apr 18, 2024
866757f
save
Giulio2002 Apr 18, 2024
7a60f56
save
Giulio2002 Apr 18, 2024
1b3a6e4
save
Giulio2002 Apr 18, 2024
9af5dba
save
Giulio2002 Apr 18, 2024
a723b5e
save
Giulio2002 Apr 18, 2024
624c67d
save
Giulio2002 Apr 18, 2024
e518131
save
Giulio2002 Apr 18, 2024
09efe7d
save
Giulio2002 Apr 18, 2024
18f1b01
save
Giulio2002 Apr 18, 2024
deb64f6
save
Giulio2002 Apr 18, 2024
3442ff8
save
Giulio2002 Apr 18, 2024
15ab540
save
Giulio2002 Apr 18, 2024
0091593
save
Giulio2002 Apr 18, 2024
6e8219b
save
Giulio2002 Apr 18, 2024
4178dfa
save
Giulio2002 Apr 18, 2024
cc889f7
save
Giulio2002 Apr 18, 2024
1dab5fd
save
Giulio2002 Apr 18, 2024
782c6ab
save
Giulio2002 Apr 18, 2024
6c8b53f
save
Giulio2002 Apr 18, 2024
f4237de
save
Giulio2002 Apr 18, 2024
a426e3a
save
Giulio2002 Apr 18, 2024
0314c5e
save
Giulio2002 Apr 18, 2024
9cd13ce
save
Giulio2002 Apr 19, 2024
a6ca2a3
save
Giulio2002 Apr 19, 2024
d53b77d
save
Giulio2002 Apr 19, 2024
cfc947e
save
Giulio2002 Apr 19, 2024
5732c4c
save
Giulio2002 Apr 19, 2024
a38ca78
save
Giulio2002 Apr 19, 2024
3fda821
save
Giulio2002 Apr 19, 2024
5663e45
save
Giulio2002 Apr 19, 2024
865f1ab
save
Giulio2002 Apr 19, 2024
7e98554
save
Giulio2002 Apr 19, 2024
8085329
save
Giulio2002 Apr 19, 2024
b966a1a
save
Giulio2002 Apr 19, 2024
ff4208f
save
Giulio2002 Apr 19, 2024
6846a3f
save
Giulio2002 Apr 19, 2024
2cc68d9
fix ut
domiwei Apr 20, 2024
2be4eee
linter
domiwei Apr 20, 2024
630451c
save
Giulio2002 Apr 20, 2024
0e3e442
save
Giulio2002 Apr 20, 2024
71e1d2a
fix lint warning
domiwei Apr 21, 2024
d1c5657
udpate
domiwei Apr 21, 2024
b88bea7
Update cl/sentinel/utils.go
Giulio2002 Apr 21, 2024
1663a60
save
Giulio2002 Apr 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
linter
  • Loading branch information
domiwei committed Apr 20, 2024
commit 2be4eee9931afcb350187b9760b694aec314a00c
6 changes: 3 additions & 3 deletions cl/sentinel/gossip.go
Original file line number Diff line number Diff line change
Expand Up @@ -340,14 +340,14 @@
return nil
}
// Determine expected first deliveries based on the message rate.
firstMessageCap, err := decayLimit(s.scoreDecay(firstDecay*s.oneEpochDuration()), float64(rate))

Check failure on line 343 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `firstDecay * s.oneEpochDuration()` (durationcheck)
if err != nil {
log.Warn("Skipping initializing topic scoring")
return nil
}
firstMessageWeight := maxFirstDeliveryScore / firstMessageCap
// Determine expected mesh deliveries based on message rate applied with a dampening factor.
meshThreshold, err := decayThreshold(s.scoreDecay(meshDecay*s.oneEpochDuration()), float64(subnetWeight)/dampeningFactor)

Check failure on line 350 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `meshDecay * s.oneEpochDuration()` (durationcheck)
if err != nil {
log.Warn("Skipping initializing topic scoring")
return nil
Expand All @@ -360,16 +360,16 @@
TimeInMeshQuantum: s.oneSlotDuration(),
TimeInMeshCap: s.inMeshCap(),
FirstMessageDeliveriesWeight: firstMessageWeight,
FirstMessageDeliveriesDecay: s.scoreDecay(firstDecay * s.oneEpochDuration()),

Check failure on line 363 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `firstDecay * s.oneEpochDuration()` (durationcheck)
FirstMessageDeliveriesCap: firstMessageCap,
MeshMessageDeliveriesWeight: 0,
MeshMessageDeliveriesDecay: s.scoreDecay(meshDecay * s.oneEpochDuration()),

Check failure on line 366 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `meshDecay * s.oneEpochDuration()` (durationcheck)
MeshMessageDeliveriesCap: meshCap,
MeshMessageDeliveriesThreshold: meshThreshold,
MeshMessageDeliveriesWindow: 2 * time.Second,
MeshMessageDeliveriesActivation: s.oneEpochDuration(),
MeshFailurePenaltyWeight: 0,
MeshFailurePenaltyDecay: s.scoreDecay(meshDecay * s.oneEpochDuration()),

Check failure on line 372 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `meshDecay * s.oneEpochDuration()` (durationcheck)
InvalidMessageDeliveriesWeight: -maxScore() / topicWeight,
InvalidMessageDeliveriesDecay: s.scoreDecay(50 * s.oneEpochDuration()),
}
Expand All @@ -387,7 +387,7 @@
func (s *Sentinel) committeeCountPerSlot() uint64 {
activeValidatorCount := s.cfg.ActiveIndicies
cfg := s.cfg.BeaconConfig
var committeesPerSlot = activeValidatorCount / uint64(cfg.SlotsPerEpoch) / cfg.TargetCommitteeSize
var committeesPerSlot = activeValidatorCount / cfg.SlotsPerEpoch / cfg.TargetCommitteeSize

if committeesPerSlot > cfg.MaxCommitteesPerSlot {
return cfg.MaxCommitteesPerSlot
Expand Down Expand Up @@ -428,13 +428,13 @@
return nil
}
// Determine the amount of validators expected in a subnet in a single slot.
numPerSlot := time.Duration(subnetWeight / uint64(s.cfg.BeaconConfig.SlotsPerEpoch))
numPerSlot := time.Duration(subnetWeight / s.cfg.BeaconConfig.SlotsPerEpoch)
if numPerSlot == 0 {
log.Trace("numPerSlot is 0, skipping initializing topic scoring")
return nil
}
comsPerSlot := s.committeeCountPerSlot()
exceedsThreshold := comsPerSlot >= 2*subnetCount/uint64(s.cfg.BeaconConfig.SlotsPerEpoch)
exceedsThreshold := comsPerSlot >= 2*subnetCount/s.cfg.BeaconConfig.SlotsPerEpoch
firstDecay := time.Duration(1)
meshDecay := time.Duration(4)
if exceedsThreshold {
Expand All @@ -447,7 +447,7 @@
return nil
}
// Determine expected first deliveries based on the message rate.
firstMessageCap, err := decayLimit(s.scoreDecay(firstDecay*s.oneEpochDuration()), float64(rate))

Check failure on line 450 in cl/sentinel/gossip.go

View workflow job for this annotation

GitHub Actions / tests (ubuntu-22.04)

Multiplication of durations: `firstDecay * s.oneEpochDuration()` (durationcheck)
if err != nil {
log.Trace("skipping initializing topic scoring", "err", err)
return nil
Expand Down
Loading