only log to info based on the beacons

This commit is contained in:
StephenButtolph 2020-06-23 20:58:35 -04:00
parent 6ba9d2264d
commit a61d1638a3
4 changed files with 40 additions and 8 deletions

View File

@ -105,6 +105,7 @@ type network struct {
serverUpgrader Upgrader serverUpgrader Upgrader
clientUpgrader Upgrader clientUpgrader Upgrader
vdrs validators.Set // set of current validators in the AVAnet vdrs validators.Set // set of current validators in the AVAnet
beacons validators.Set // set of beacons in the AVAnet
router router.Router // router must be thread safe router router.Router // router must be thread safe
nodeID uint32 nodeID uint32
@ -159,6 +160,7 @@ func NewDefaultNetwork(
serverUpgrader, serverUpgrader,
clientUpgrader Upgrader, clientUpgrader Upgrader,
vdrs validators.Set, vdrs validators.Set,
beacons validators.Set,
router router.Router, router router.Router,
) Network { ) Network {
return NewNetwork( return NewNetwork(
@ -174,6 +176,7 @@ func NewDefaultNetwork(
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
beacons,
router, router,
defaultInitialReconnectDelay, defaultInitialReconnectDelay,
defaultMaxReconnectDelay, defaultMaxReconnectDelay,
@ -207,6 +210,7 @@ func NewNetwork(
serverUpgrader, serverUpgrader,
clientUpgrader Upgrader, clientUpgrader Upgrader,
vdrs validators.Set, vdrs validators.Set,
beacons validators.Set,
router router.Router, router router.Router,
initialReconnectDelay, initialReconnectDelay,
maxReconnectDelay time.Duration, maxReconnectDelay time.Duration,
@ -236,6 +240,7 @@ func NewNetwork(
serverUpgrader: serverUpgrader, serverUpgrader: serverUpgrader,
clientUpgrader: clientUpgrader, clientUpgrader: clientUpgrader,
vdrs: vdrs, vdrs: vdrs,
beacons: beacons,
router: router, router: router,
nodeID: rand.Uint32(), nodeID: rand.Uint32(),
initialReconnectDelay: initialReconnectDelay, initialReconnectDelay: initialReconnectDelay,

View File

@ -197,6 +197,7 @@ func TestNewDefaultNetwork(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net) assert.NotNil(t, net)
@ -280,6 +281,7 @@ func TestEstablishConnection(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -297,6 +299,7 @@ func TestEstablishConnection(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)
@ -419,6 +422,7 @@ func TestDoubleTrack(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -436,6 +440,7 @@ func TestDoubleTrack(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)
@ -559,6 +564,7 @@ func TestDoubleClose(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -576,6 +582,7 @@ func TestDoubleClose(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)
@ -704,6 +711,7 @@ func TestRemoveHandlers(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -721,6 +729,7 @@ func TestRemoveHandlers(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)
@ -858,6 +867,7 @@ func TestTrackConnected(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -875,6 +885,7 @@ func TestTrackConnected(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)
@ -999,6 +1010,7 @@ func TestTrackConnectedRace(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net0) assert.NotNil(t, net0)
@ -1016,6 +1028,7 @@ func TestTrackConnectedRace(t *testing.T) {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
vdrs, vdrs,
vdrs,
handler, handler,
) )
assert.NotNil(t, net1) assert.NotNil(t, net1)

View File

@ -470,8 +470,13 @@ func (p *peer) version(msg Msg) {
} }
if p.net.version.Before(peerVersion) { if p.net.version.Before(peerVersion) {
p.net.log.Info("peer attempting to connect with newer version %s. You may want to update your client", if p.net.beacons.Contains(p.id) {
peerVersion) p.net.log.Info("beacon attempting to connect with newer version %s. You may want to update your client",
peerVersion)
} else {
p.net.log.Debug("peer attempting to connect with newer version %s. You may want to update your client",
peerVersion)
}
} }
if err := p.net.version.Compatible(peerVersion); err != nil { if err := p.net.version.Compatible(peerVersion); err != nil {

View File

@ -93,6 +93,9 @@ type Node struct {
// Net runs the networking stack // Net runs the networking stack
Net network.Network Net network.Network
// this node's initial connections to the network
beacons validators.Set
// current validators of the network // current validators of the network
vdrs validators.Manager vdrs validators.Manager
@ -165,6 +168,7 @@ func (n *Node) initNetworking() error {
serverUpgrader, serverUpgrader,
clientUpgrader, clientUpgrader,
defaultSubnetValidators, defaultSubnetValidators,
n.beacons,
n.Config.ConsensusRouter, n.Config.ConsensusRouter,
) )
@ -278,6 +282,14 @@ func (n *Node) initNodeID() error {
return nil return nil
} }
// Create the IDs of the peers this node should first connect to
func (n *Node) initBeacons() {
n.beacons = validators.NewSet()
for _, peer := range n.Config.BootstrapPeers {
n.beacons.Add(validators.NewValidator(peer.ID, 1))
}
}
// Create the vmManager and register the following vms: // Create the vmManager and register the following vms:
// AVM, Simple Payments DAG, Simple Payments Chain // AVM, Simple Payments DAG, Simple Payments Chain
// The Platform VM is registered in initStaking because // The Platform VM is registered in initStaking because
@ -360,11 +372,6 @@ func (n *Node) initChains() error {
return err return err
} }
beacons := validators.NewSet()
for _, peer := range n.Config.BootstrapPeers {
beacons.Add(validators.NewValidator(peer.ID, 1))
}
genesisBytes, err := genesis.Genesis(n.Config.NetworkID) genesisBytes, err := genesis.Genesis(n.Config.NetworkID)
if err != nil { if err != nil {
return err return err
@ -376,7 +383,7 @@ func (n *Node) initChains() error {
SubnetID: platformvm.DefaultSubnetID, SubnetID: platformvm.DefaultSubnetID,
GenesisData: genesisBytes, // Specifies other chains to create GenesisData: genesisBytes, // Specifies other chains to create
VMAlias: platformvm.ID.String(), VMAlias: platformvm.ID.String(),
CustomBeacons: beacons, CustomBeacons: n.beacons,
}) })
return nil return nil
@ -551,6 +558,8 @@ func (n *Node) Initialize(Config *Config, logger logging.Logger, logFactory logg
return fmt.Errorf("problem initializing staker ID: %w", err) return fmt.Errorf("problem initializing staker ID: %w", err)
} }
n.initBeacons()
// Start HTTP APIs // Start HTTP APIs
n.initAPIServer() // Start the API Server n.initAPIServer() // Start the API Server
n.initKeystoreAPI() // Start the Keystore API n.initKeystoreAPI() // Start the Keystore API