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
clientUpgrader Upgrader
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
nodeID uint32
@ -159,6 +160,7 @@ func NewDefaultNetwork(
serverUpgrader,
clientUpgrader Upgrader,
vdrs validators.Set,
beacons validators.Set,
router router.Router,
) Network {
return NewNetwork(
@ -174,6 +176,7 @@ func NewDefaultNetwork(
serverUpgrader,
clientUpgrader,
vdrs,
beacons,
router,
defaultInitialReconnectDelay,
defaultMaxReconnectDelay,
@ -207,6 +210,7 @@ func NewNetwork(
serverUpgrader,
clientUpgrader Upgrader,
vdrs validators.Set,
beacons validators.Set,
router router.Router,
initialReconnectDelay,
maxReconnectDelay time.Duration,
@ -236,6 +240,7 @@ func NewNetwork(
serverUpgrader: serverUpgrader,
clientUpgrader: clientUpgrader,
vdrs: vdrs,
beacons: beacons,
router: router,
nodeID: rand.Uint32(),
initialReconnectDelay: initialReconnectDelay,

View File

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

View File

@ -470,8 +470,13 @@ func (p *peer) version(msg Msg) {
}
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",
peerVersion)
if p.net.beacons.Contains(p.id) {
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 {

View File

@ -93,6 +93,9 @@ type Node struct {
// Net runs the networking stack
Net network.Network
// this node's initial connections to the network
beacons validators.Set
// current validators of the network
vdrs validators.Manager
@ -165,6 +168,7 @@ func (n *Node) initNetworking() error {
serverUpgrader,
clientUpgrader,
defaultSubnetValidators,
n.beacons,
n.Config.ConsensusRouter,
)
@ -278,6 +282,14 @@ func (n *Node) initNodeID() error {
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:
// AVM, Simple Payments DAG, Simple Payments Chain
// The Platform VM is registered in initStaking because
@ -360,11 +372,6 @@ func (n *Node) initChains() error {
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)
if err != nil {
return err
@ -376,7 +383,7 @@ func (n *Node) initChains() error {
SubnetID: platformvm.DefaultSubnetID,
GenesisData: genesisBytes, // Specifies other chains to create
VMAlias: platformvm.ID.String(),
CustomBeacons: beacons,
CustomBeacons: n.beacons,
})
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)
}
n.initBeacons()
// Start HTTP APIs
n.initAPIServer() // Start the API Server
n.initKeystoreAPI() // Start the Keystore API