mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-10 15:07:24 +00:00
fix tests
This commit is contained in:
@@ -472,8 +472,7 @@ func (m *PeerManager) TryDialNext() (NodeAddress, error) {
|
||||
// We allow dialing MaxConnected+MaxConnectedUpgrade peers. Including
|
||||
// MaxConnectedUpgrade allows us to probe additional peers that have a
|
||||
// higher score than any other peers, and if successful evict it.
|
||||
if m.options.MaxConnected > 0 && len(m.connected)+len(m.dialing) >=
|
||||
int(m.options.MaxConnected)+int(m.options.MaxConnectedUpgrade) {
|
||||
if m.options.MaxConnected > 0 && len(m.connected)+len(m.dialing) >= int(m.options.MaxConnected)+int(m.options.MaxConnectedUpgrade) {
|
||||
return NodeAddress{}, nil
|
||||
}
|
||||
|
||||
@@ -811,8 +810,10 @@ func (m *PeerManager) Inactivate(peerID types.NodeID) error {
|
||||
m.mtx.Lock()
|
||||
defer m.mtx.Unlock()
|
||||
|
||||
peer := m.store.peers[peerID]
|
||||
peer.Inactive = true
|
||||
peer, ok := m.store.peers[peerID]
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
|
||||
return m.store.Set(*peer)
|
||||
}
|
||||
@@ -1352,7 +1353,8 @@ func (p *peerInfo) LastDialed() (time.Time, bool) {
|
||||
}
|
||||
}
|
||||
|
||||
// if we never modified last, then
|
||||
// if we never modified last, then we should return it to the
|
||||
// zero value
|
||||
if last.Add(1).IsZero() {
|
||||
last = last.Add(1)
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ func TestPeerScoring(t *testing.T) {
|
||||
|
||||
t.Run("Synchronous", func(t *testing.T) {
|
||||
// update the manager and make sure it's correct
|
||||
require.EqualValues(t, 0, peerManager.Scores()[id])
|
||||
require.EqualValues(t, DefaultMutablePeerScore, peerManager.Scores()[id])
|
||||
|
||||
// add a bunch of good status updates and watch things increase.
|
||||
for i := 1; i < 10; i++ {
|
||||
@@ -42,7 +42,7 @@ func TestPeerScoring(t *testing.T) {
|
||||
NodeID: id,
|
||||
Status: PeerStatusGood,
|
||||
})
|
||||
require.EqualValues(t, i, peerManager.Scores()[id])
|
||||
require.EqualValues(t, int(DefaultMutablePeerScore)+i, peerManager.Scores()[id])
|
||||
}
|
||||
|
||||
// watch the corresponding decreases respond to update
|
||||
|
||||
@@ -169,7 +169,7 @@ func TestNewPeerManager_Persistence(t *testing.T) {
|
||||
require.Equal(t, map[types.NodeID]p2p.PeerScore{
|
||||
aID: p2p.PeerScorePersistent,
|
||||
bID: 1,
|
||||
cID: 0,
|
||||
cID: p2p.PeerScore(p2p.DefaultMutablePeerScore),
|
||||
}, peerManager.Scores())
|
||||
|
||||
// Creating a new peer manager with the same database should retain the
|
||||
@@ -524,11 +524,11 @@ func TestPeerManager_TryDialNext_MaxConnectedUpgrade(t *testing.T) {
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
a.NodeID: 0,
|
||||
b.NodeID: 1,
|
||||
c.NodeID: 2,
|
||||
d.NodeID: 3,
|
||||
e.NodeID: 0,
|
||||
a.NodeID: p2p.PeerScore(0 + p2p.DefaultMutablePeerScore),
|
||||
b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(2 + p2p.DefaultMutablePeerScore),
|
||||
d.NodeID: p2p.PeerScore(3 + p2p.DefaultMutablePeerScore),
|
||||
e.NodeID: p2p.PeerScore(0 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
PersistentPeers: []types.NodeID{c.NodeID, d.NodeID},
|
||||
MaxConnected: 2,
|
||||
@@ -605,7 +605,7 @@ func TestPeerManager_TryDialNext_UpgradeReservesPeer(t *testing.T) {
|
||||
c := p2p.NodeAddress{Protocol: "memory", NodeID: types.NodeID(strings.Repeat("c", 40))}
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: 1, c.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore), c.NodeID: 1},
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 2,
|
||||
})
|
||||
@@ -771,7 +771,10 @@ func TestPeerManager_DialFailed_UnreservePeer(t *testing.T) {
|
||||
c := p2p.NodeAddress{Protocol: "memory", NodeID: types.NodeID(strings.Repeat("c", 40))}
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: 1, c.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 2,
|
||||
})
|
||||
@@ -887,7 +890,7 @@ func TestPeerManager_Dialed_MaxConnectedUpgrade(t *testing.T) {
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
MaxConnected: 2,
|
||||
MaxConnectedUpgrade: 1,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{c.NodeID: 1, d.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{c.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore), d.NodeID: 1},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -937,7 +940,7 @@ func TestPeerManager_Dialed_Upgrade(t *testing.T) {
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 2,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: 1, c.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore), c.NodeID: 1},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -984,10 +987,10 @@ func TestPeerManager_Dialed_UpgradeEvenLower(t *testing.T) {
|
||||
MaxConnected: 2,
|
||||
MaxConnectedUpgrade: 1,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
a.NodeID: 3,
|
||||
b.NodeID: 2,
|
||||
c.NodeID: 10,
|
||||
d.NodeID: 1,
|
||||
a.NodeID: p2p.PeerScore(3 + p2p.DefaultMutablePeerScore),
|
||||
b.NodeID: p2p.PeerScore(2 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(10 + p2p.DefaultMutablePeerScore),
|
||||
d.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1040,9 +1043,9 @@ func TestPeerManager_Dialed_UpgradeNoEvict(t *testing.T) {
|
||||
MaxConnected: 2,
|
||||
MaxConnectedUpgrade: 1,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
a.NodeID: 1,
|
||||
b.NodeID: 2,
|
||||
c.NodeID: 3,
|
||||
a.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
b.NodeID: p2p.PeerScore(2 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(3 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
@@ -1161,8 +1164,8 @@ func TestPeerManager_Accepted_MaxConnectedUpgrade(t *testing.T) {
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
c.NodeID: 1,
|
||||
d.NodeID: 2,
|
||||
c.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
d.NodeID: p2p.PeerScore(2 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 1,
|
||||
@@ -1209,8 +1212,8 @@ func TestPeerManager_Accepted_Upgrade(t *testing.T) {
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
b.NodeID: 1,
|
||||
c.NodeID: 1,
|
||||
b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 2,
|
||||
@@ -1252,8 +1255,8 @@ func TestPeerManager_Accepted_UpgradeDialing(t *testing.T) {
|
||||
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
b.NodeID: 1,
|
||||
c.NodeID: 1,
|
||||
b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
c.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 2,
|
||||
@@ -1428,7 +1431,7 @@ func TestPeerManager_EvictNext_WakeOnUpgradeDialed(t *testing.T) {
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 1,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: p2p.PeerScore(p2p.DefaultMutablePeerScore + 1)},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
@@ -1469,7 +1472,9 @@ func TestPeerManager_EvictNext_WakeOnUpgradeAccepted(t *testing.T) {
|
||||
peerManager, err := p2p.NewPeerManager(selfID, dbm.NewMemDB(), p2p.PeerManagerOptions{
|
||||
MaxConnected: 1,
|
||||
MaxConnectedUpgrade: 1,
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{b.NodeID: 1},
|
||||
PeerScores: map[types.NodeID]p2p.PeerScore{
|
||||
b.NodeID: p2p.PeerScore(1 + p2p.DefaultMutablePeerScore),
|
||||
},
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user