mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-30 22:51:19 +00:00
Merge pull request #535 from tendermint/bugfix/fix-invalid-logger-keys
Fix invalid logger keys
This commit is contained in:
commit
4f0f50c62d
@ -128,7 +128,7 @@ func (bcR *BlockchainReactor) RemovePeer(peer *p2p.Peer, reason interface{}) {
|
|||||||
func (bcR *BlockchainReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte) {
|
func (bcR *BlockchainReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte) {
|
||||||
_, msg, err := DecodeMessage(msgBytes)
|
_, msg, err := DecodeMessage(msgBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
bcR.Logger.Error("Error decoding message", "error", err)
|
bcR.Logger.Error("Error decoding message", "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,7 +231,7 @@ FOR_LOOP:
|
|||||||
err := bcR.state.Validators.VerifyCommit(
|
err := bcR.state.Validators.VerifyCommit(
|
||||||
bcR.state.ChainID, types.BlockID{first.Hash(), firstPartsHeader}, first.Height, second.LastCommit)
|
bcR.state.ChainID, types.BlockID{first.Hash(), firstPartsHeader}, first.Height, second.LastCommit)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
bcR.Logger.Info("error in validation", "error", err)
|
bcR.Logger.Info("error in validation", "err", err)
|
||||||
bcR.pool.RedoRequest(first.Height)
|
bcR.pool.RedoRequest(first.Height)
|
||||||
break SYNC_LOOP
|
break SYNC_LOOP
|
||||||
} else {
|
} else {
|
||||||
|
@ -154,7 +154,7 @@ func (conR *ConsensusReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte)
|
|||||||
|
|
||||||
_, msg, err := DecodeMessage(msgBytes)
|
_, msg, err := DecodeMessage(msgBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
conR.Logger.Error("Error decoding message", "src", src, "chId", chID, "msg", msg, "error", err, "bytes", msgBytes)
|
conR.Logger.Error("Error decoding message", "src", src, "chId", chID, "msg", msg, "err", err, "bytes", msgBytes)
|
||||||
// TODO punish peer?
|
// TODO punish peer?
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -282,7 +282,7 @@ func (conR *ConsensusReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
conR.Logger.Error("Error in Receive()", "error", err)
|
conR.Logger.Error("Error in Receive()", "err", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,7 +412,7 @@ OUTER_LOOP:
|
|||||||
// Ensure that the peer's PartSetHeader is correct
|
// Ensure that the peer's PartSetHeader is correct
|
||||||
blockMeta := conR.conS.blockStore.LoadBlockMeta(prs.Height)
|
blockMeta := conR.conS.blockStore.LoadBlockMeta(prs.Height)
|
||||||
if blockMeta == nil {
|
if blockMeta == nil {
|
||||||
logger.Error("Failed to load block meta", "peer height", prs.Height, "our height", rs.Height, "blockstore height", conR.conS.blockStore.Height(), "pv", conR.conS.privValidator)
|
logger.Error("Failed to load block meta", "peer height", prs.Height, "ourHeight", rs.Height, "blockstoreHeight", conR.conS.blockStore.Height(), "pv", conR.conS.privValidator)
|
||||||
time.Sleep(peerGossipSleepDuration)
|
time.Sleep(peerGossipSleepDuration)
|
||||||
continue OUTER_LOOP
|
continue OUTER_LOOP
|
||||||
} else if !blockMeta.BlockID.PartsHeader.Equals(prs.ProposalBlockPartsHeader) {
|
} else if !blockMeta.BlockID.PartsHeader.Equals(prs.ProposalBlockPartsHeader) {
|
||||||
|
@ -311,7 +311,7 @@ func (cs *ConsensusState) OnStart() error {
|
|||||||
|
|
||||||
walFile := cs.config.WalFile()
|
walFile := cs.config.WalFile()
|
||||||
if err := cs.OpenWAL(walFile); err != nil {
|
if err := cs.OpenWAL(walFile); err != nil {
|
||||||
cs.Logger.Error("Error loading ConsensusState wal", "error", err.Error())
|
cs.Logger.Error("Error loading ConsensusState wal", "err", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -325,7 +325,7 @@ func (cs *ConsensusState) OnStart() error {
|
|||||||
// we may have lost some votes if the process crashed
|
// we may have lost some votes if the process crashed
|
||||||
// reload from consensus log to catchup
|
// reload from consensus log to catchup
|
||||||
if err := cs.catchupReplay(cs.Height); err != nil {
|
if err := cs.catchupReplay(cs.Height); err != nil {
|
||||||
cs.Logger.Error("Error on catchup replay. Proceeding to start ConsensusState anyway", "error", err.Error())
|
cs.Logger.Error("Error on catchup replay. Proceeding to start ConsensusState anyway", "err", err.Error())
|
||||||
// NOTE: if we ever do return an error here,
|
// NOTE: if we ever do return an error here,
|
||||||
// make sure to stop the timeoutTicker
|
// make sure to stop the timeoutTicker
|
||||||
}
|
}
|
||||||
@ -368,7 +368,7 @@ func (cs *ConsensusState) Wait() {
|
|||||||
func (cs *ConsensusState) OpenWAL(walFile string) (err error) {
|
func (cs *ConsensusState) OpenWAL(walFile string) (err error) {
|
||||||
err = cmn.EnsureDir(path.Dir(walFile), 0700)
|
err = cmn.EnsureDir(path.Dir(walFile), 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cs.Logger.Error("Error ensuring ConsensusState wal dir", "error", err.Error())
|
cs.Logger.Error("Error ensuring ConsensusState wal dir", "err", err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -663,7 +663,7 @@ func (cs *ConsensusState) handleMsg(mi msgInfo, rs RoundState) {
|
|||||||
cs.Logger.Error("Unknown msg type", reflect.TypeOf(msg))
|
cs.Logger.Error("Unknown msg type", reflect.TypeOf(msg))
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cs.Logger.Error("Error with msg", "type", reflect.TypeOf(msg), "peer", peerKey, "error", err, "msg", msg)
|
cs.Logger.Error("Error with msg", "type", reflect.TypeOf(msg), "peer", peerKey, "err", err, "msg", msg)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -831,7 +831,7 @@ func (cs *ConsensusState) defaultDecideProposal(height, round int) {
|
|||||||
cs.Logger.Debug(cmn.Fmt("Signed proposal block: %v", block))
|
cs.Logger.Debug(cmn.Fmt("Signed proposal block: %v", block))
|
||||||
} else {
|
} else {
|
||||||
if !cs.replayMode {
|
if !cs.replayMode {
|
||||||
cs.Logger.Error("enterPropose: Error signing proposal", "height", height, "round", round, "error", err)
|
cs.Logger.Error("enterPropose: Error signing proposal", "height", height, "round", round, "err", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -930,7 +930,7 @@ func (cs *ConsensusState) defaultDoPrevote(height int, round int) {
|
|||||||
err := cs.state.ValidateBlock(cs.ProposalBlock)
|
err := cs.state.ValidateBlock(cs.ProposalBlock)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// ProposalBlock is invalid, prevote nil.
|
// ProposalBlock is invalid, prevote nil.
|
||||||
cs.Logger.Error("enterPrevote: ProposalBlock is invalid", "error", err)
|
cs.Logger.Error("enterPrevote: ProposalBlock is invalid", "err", err)
|
||||||
cs.signAddVote(types.VoteTypePrevote, nil, types.PartSetHeader{})
|
cs.signAddVote(types.VoteTypePrevote, nil, types.PartSetHeader{})
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -1218,7 +1218,7 @@ func (cs *ConsensusState) finalizeCommit(height int) {
|
|||||||
// NOTE: the block.AppHash wont reflect these txs until the next block
|
// NOTE: the block.AppHash wont reflect these txs until the next block
|
||||||
err := stateCopy.ApplyBlock(eventCache, cs.proxyAppConn, block, blockParts.Header(), cs.mempool)
|
err := stateCopy.ApplyBlock(eventCache, cs.proxyAppConn, block, blockParts.Header(), cs.mempool)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
cs.Logger.Error("Error on ApplyBlock. Did the application crash? Please restart tendermint", "error", err)
|
cs.Logger.Error("Error on ApplyBlock. Did the application crash? Please restart tendermint", "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1350,7 +1350,7 @@ func (cs *ConsensusState) tryAddVote(vote *types.Vote, peerKey string) error {
|
|||||||
return err
|
return err
|
||||||
} else {
|
} else {
|
||||||
// Probably an invalid signature. Bad peer.
|
// Probably an invalid signature. Bad peer.
|
||||||
cs.Logger.Error("Error attempting to add vote", "error", err)
|
cs.Logger.Error("Error attempting to add vote", "err", err)
|
||||||
return ErrAddingVote
|
return ErrAddingVote
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1491,11 +1491,11 @@ func (cs *ConsensusState) signAddVote(type_ byte, hash []byte, header types.Part
|
|||||||
vote, err := cs.signVote(type_, hash, header)
|
vote, err := cs.signVote(type_, hash, header)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
cs.sendInternalMessage(msgInfo{&VoteMessage{vote}, ""})
|
cs.sendInternalMessage(msgInfo{&VoteMessage{vote}, ""})
|
||||||
cs.Logger.Info("Signed and pushed vote", "height", cs.Height, "round", cs.Round, "vote", vote, "error", err)
|
cs.Logger.Info("Signed and pushed vote", "height", cs.Height, "round", cs.Round, "vote", vote, "err", err)
|
||||||
return vote
|
return vote
|
||||||
} else {
|
} else {
|
||||||
//if !cs.replayMode {
|
//if !cs.replayMode {
|
||||||
cs.Logger.Error("Error signing vote", "height", cs.Height, "round", cs.Round, "vote", vote, "error", err)
|
cs.Logger.Error("Error signing vote", "height", cs.Height, "round", cs.Round, "vote", vote, "err", err)
|
||||||
//}
|
//}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -63,7 +63,7 @@ func (memR *MempoolReactor) RemovePeer(peer *p2p.Peer, reason interface{}) {
|
|||||||
func (memR *MempoolReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte) {
|
func (memR *MempoolReactor) Receive(chID byte, src *p2p.Peer, msgBytes []byte) {
|
||||||
_, msg, err := DecodeMessage(msgBytes)
|
_, msg, err := DecodeMessage(msgBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
memR.Logger.Error("Error decoding message", "error", err)
|
memR.Logger.Error("Error decoding message", "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
memR.Logger.Debug("Receive", "src", src, "chId", chID, "msg", msg)
|
memR.Logger.Debug("Receive", "src", src, "chId", chID, "msg", msg)
|
||||||
|
@ -205,7 +205,7 @@ func NewNode(config *cfg.Config, privValidator *types.PrivValidator, clientCreat
|
|||||||
if profileHost != "" {
|
if profileHost != "" {
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
logger.Error("Profile server", "error", http.ListenAndServe(profileHost, nil))
|
logger.Error("Profile server", "err", http.ListenAndServe(profileHost, nil))
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -276,7 +276,7 @@ func (n *Node) OnStop() {
|
|||||||
for _, l := range n.rpcListeners {
|
for _, l := range n.rpcListeners {
|
||||||
n.Logger.Info("Closing rpc listener", "listener", l)
|
n.Logger.Info("Closing rpc listener", "listener", l)
|
||||||
if err := l.Close(); err != nil {
|
if err := l.Close(); err != nil {
|
||||||
n.Logger.Error("Error closing listener", "listener", l, "error", err)
|
n.Logger.Error("Error closing listener", "listener", l, "err", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -340,7 +340,7 @@ func (a *AddrBook) saveToFile(filePath string) {
|
|||||||
}
|
}
|
||||||
err = cmn.WriteFileAtomic(filePath, jsonBytes, 0644)
|
err = cmn.WriteFileAtomic(filePath, jsonBytes, 0644)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
a.Logger.Error("Failed to save AddrBook to file", "file", filePath, "error", err)
|
a.Logger.Error("Failed to save AddrBook to file", "file", filePath, "err", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -180,7 +180,7 @@ func (c *MConnection) flush() {
|
|||||||
c.Logger.Debug("Flush", "conn", c)
|
c.Logger.Debug("Flush", "conn", c)
|
||||||
err := c.bufWriter.Flush()
|
err := c.bufWriter.Flush()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Logger.Error("MConnection flush failed", "error", err)
|
c.Logger.Error("MConnection flush failed", "err", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -318,7 +318,7 @@ FOR_LOOP:
|
|||||||
break FOR_LOOP
|
break FOR_LOOP
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Logger.Error("Connection failed @ sendRoutine", "conn", c, "error", err)
|
c.Logger.Error("Connection failed @ sendRoutine", "conn", c, "err", err)
|
||||||
c.stopForError(err)
|
c.stopForError(err)
|
||||||
break FOR_LOOP
|
break FOR_LOOP
|
||||||
}
|
}
|
||||||
@ -373,7 +373,7 @@ func (c *MConnection) sendMsgPacket() bool {
|
|||||||
// Make & send a msgPacket from this channel
|
// Make & send a msgPacket from this channel
|
||||||
n, err := leastChannel.writeMsgPacketTo(c.bufWriter)
|
n, err := leastChannel.writeMsgPacketTo(c.bufWriter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.Logger.Error("Failed to write msgPacket", "error", err)
|
c.Logger.Error("Failed to write msgPacket", "err", err)
|
||||||
c.stopForError(err)
|
c.stopForError(err)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@ -401,7 +401,7 @@ FOR_LOOP:
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
return bytes
|
return bytes
|
||||||
} else {
|
} else {
|
||||||
log.Warn("Error peeking connection buffer", "error", err)
|
log.Warn("Error peeking connection buffer", "err", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}})
|
}})
|
||||||
@ -415,7 +415,7 @@ FOR_LOOP:
|
|||||||
c.recvMonitor.Update(int(n))
|
c.recvMonitor.Update(int(n))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if c.IsRunning() {
|
if c.IsRunning() {
|
||||||
c.Logger.Error("Connection failed @ recvRoutine (reading byte)", "conn", c, "error", err)
|
c.Logger.Error("Connection failed @ recvRoutine (reading byte)", "conn", c, "err", err)
|
||||||
c.stopForError(err)
|
c.stopForError(err)
|
||||||
}
|
}
|
||||||
break FOR_LOOP
|
break FOR_LOOP
|
||||||
@ -436,7 +436,7 @@ FOR_LOOP:
|
|||||||
c.recvMonitor.Update(int(n))
|
c.recvMonitor.Update(int(n))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if c.IsRunning() {
|
if c.IsRunning() {
|
||||||
c.Logger.Error("Connection failed @ recvRoutine", "conn", c, "error", err)
|
c.Logger.Error("Connection failed @ recvRoutine", "conn", c, "err", err)
|
||||||
c.stopForError(err)
|
c.stopForError(err)
|
||||||
}
|
}
|
||||||
break FOR_LOOP
|
break FOR_LOOP
|
||||||
@ -448,7 +448,7 @@ FOR_LOOP:
|
|||||||
msgBytes, err := channel.recvMsgPacket(pkt)
|
msgBytes, err := channel.recvMsgPacket(pkt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if c.IsRunning() {
|
if c.IsRunning() {
|
||||||
c.Logger.Error("Connection failed @ recvRoutine", "conn", c, "error", err)
|
c.Logger.Error("Connection failed @ recvRoutine", "conn", c, "err", err)
|
||||||
c.stopForError(err)
|
c.stopForError(err)
|
||||||
}
|
}
|
||||||
break FOR_LOOP
|
break FOR_LOOP
|
||||||
|
@ -171,13 +171,13 @@ func getUPNPExternalAddress(externalPort, internalPort int, logger log.Logger) *
|
|||||||
logger.Info("Getting UPNP external address")
|
logger.Info("Getting UPNP external address")
|
||||||
nat, err := upnp.Discover()
|
nat, err := upnp.Discover()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Info("Could not perform UPNP discover", "error", err)
|
logger.Info("Could not perform UPNP discover", "err", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
ext, err := nat.GetExternalAddress()
|
ext, err := nat.GetExternalAddress()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Info("Could not get UPNP external address", "error", err)
|
logger.Info("Could not get UPNP external address", "err", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ func getUPNPExternalAddress(externalPort, internalPort int, logger log.Logger) *
|
|||||||
|
|
||||||
externalPort, err = nat.AddPortMapping("tcp", externalPort, internalPort, "tendermint", 0)
|
externalPort, err = nat.AddPortMapping("tcp", externalPort, internalPort, "tendermint", 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Info("Could not add UPNP port mapping", "error", err)
|
logger.Info("Could not add UPNP port mapping", "err", err)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ func (r *PEXReactor) AddPeer(p *Peer) {
|
|||||||
addr, err := NewNetAddressString(p.ListenAddr)
|
addr, err := NewNetAddressString(p.ListenAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// this should never happen
|
// this should never happen
|
||||||
r.Logger.Error("Error in AddPeer: invalid peer address", "addr", p.ListenAddr, "error", err)
|
r.Logger.Error("Error in AddPeer: invalid peer address", "addr", p.ListenAddr, "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
r.book.AddAddress(addr, addr)
|
r.book.AddAddress(addr, addr)
|
||||||
@ -132,7 +132,7 @@ func (r *PEXReactor) Receive(chID byte, src *Peer, msgBytes []byte) {
|
|||||||
|
|
||||||
_, msg, err := DecodeMessage(msgBytes)
|
_, msg, err := DecodeMessage(msgBytes)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
r.Logger.Error("Error decoding message", "error", err)
|
r.Logger.Error("Error decoding message", "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
r.Logger.Info("Received message", "msg", msg)
|
r.Logger.Info("Received message", "msg", msg)
|
||||||
|
@ -309,7 +309,7 @@ func (sw *Switch) DialSeeds(addrBook *AddrBook, seeds []string) error {
|
|||||||
func (sw *Switch) dialSeed(addr *NetAddress) {
|
func (sw *Switch) dialSeed(addr *NetAddress) {
|
||||||
peer, err := sw.DialPeerWithAddress(addr, true)
|
peer, err := sw.DialPeerWithAddress(addr, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sw.Logger.Error("Error dialing seed", "error", err)
|
sw.Logger.Error("Error dialing seed", "err", err)
|
||||||
} else {
|
} else {
|
||||||
sw.Logger.Info("Connected to seed", "peer", peer)
|
sw.Logger.Info("Connected to seed", "peer", peer)
|
||||||
}
|
}
|
||||||
@ -322,7 +322,7 @@ func (sw *Switch) DialPeerWithAddress(addr *NetAddress, persistent bool) (*Peer,
|
|||||||
sw.Logger.Info("Dialing peer", "address", addr)
|
sw.Logger.Info("Dialing peer", "address", addr)
|
||||||
peer, err := newOutboundPeerWithConfig(addr, sw.reactorsByCh, sw.chDescs, sw.StopPeerForError, sw.nodePrivKey, sw.peerConfig)
|
peer, err := newOutboundPeerWithConfig(addr, sw.reactorsByCh, sw.chDescs, sw.StopPeerForError, sw.nodePrivKey, sw.peerConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sw.Logger.Error("Failed to dial peer", "address", addr, "error", err)
|
sw.Logger.Error("Failed to dial peer", "address", addr, "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
peer.SetLogger(sw.Logger.With("peer", addr))
|
peer.SetLogger(sw.Logger.With("peer", addr))
|
||||||
@ -331,7 +331,7 @@ func (sw *Switch) DialPeerWithAddress(addr *NetAddress, persistent bool) (*Peer,
|
|||||||
}
|
}
|
||||||
err = sw.AddPeer(peer)
|
err = sw.AddPeer(peer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sw.Logger.Error("Failed to add peer", "address", addr, "error", err)
|
sw.Logger.Error("Failed to add peer", "address", addr, "err", err)
|
||||||
peer.CloseConn()
|
peer.CloseConn()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -381,7 +381,7 @@ func (sw *Switch) Peers() IPeerSet {
|
|||||||
// TODO: make record depending on reason.
|
// TODO: make record depending on reason.
|
||||||
func (sw *Switch) StopPeerForError(peer *Peer, reason interface{}) {
|
func (sw *Switch) StopPeerForError(peer *Peer, reason interface{}) {
|
||||||
addr := NewNetAddress(peer.Addr())
|
addr := NewNetAddress(peer.Addr())
|
||||||
sw.Logger.Info("Stopping peer for error", "peer", peer, "error", reason)
|
sw.Logger.Info("Stopping peer for error", "peer", peer, "err", reason)
|
||||||
sw.stopAndRemovePeer(peer, reason)
|
sw.stopAndRemovePeer(peer, reason)
|
||||||
|
|
||||||
if peer.IsPersistent() {
|
if peer.IsPersistent() {
|
||||||
@ -395,10 +395,10 @@ func (sw *Switch) StopPeerForError(peer *Peer, reason interface{}) {
|
|||||||
peer, err := sw.DialPeerWithAddress(addr, true)
|
peer, err := sw.DialPeerWithAddress(addr, true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if i == reconnectAttempts {
|
if i == reconnectAttempts {
|
||||||
sw.Logger.Info("Error reconnecting to peer. Giving up", "tries", i, "error", err)
|
sw.Logger.Info("Error reconnecting to peer. Giving up", "tries", i, "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
sw.Logger.Info("Error reconnecting to peer. Trying again", "tries", i, "error", err)
|
sw.Logger.Info("Error reconnecting to peer. Trying again", "tries", i, "err", err)
|
||||||
time.Sleep(reconnectInterval)
|
time.Sleep(reconnectInterval)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
@ -442,7 +442,7 @@ func (sw *Switch) listenerRoutine(l Listener) {
|
|||||||
// New inbound connection!
|
// New inbound connection!
|
||||||
err := sw.addPeerWithConnectionAndConfig(inConn, sw.peerConfig)
|
err := sw.addPeerWithConnectionAndConfig(inConn, sw.peerConfig)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
sw.Logger.Info("Ignoring inbound connection: error while adding peer", "address", inConn.RemoteAddr().String(), "error", err)
|
sw.Logger.Info("Ignoring inbound connection: error while adding peer", "address", inConn.RemoteAddr().String(), "err", err)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,14 +100,14 @@ func (wsc *WSClient) receiveEventsRoutine() {
|
|||||||
for {
|
for {
|
||||||
_, data, err := wsc.ReadMessage()
|
_, data, err := wsc.ReadMessage()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
wsc.Logger.Info("WSClient failed to read message", "error", err, "data", string(data))
|
wsc.Logger.Info("WSClient failed to read message", "err", err, "data", string(data))
|
||||||
wsc.Stop()
|
wsc.Stop()
|
||||||
break
|
break
|
||||||
} else {
|
} else {
|
||||||
var response types.RPCResponse
|
var response types.RPCResponse
|
||||||
err := json.Unmarshal(data, &response)
|
err := json.Unmarshal(data, &response)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
wsc.Logger.Info("WSClient failed to parse message", "error", err, "data", string(data))
|
wsc.Logger.Info("WSClient failed to parse message", "err", err, "data", string(data))
|
||||||
wsc.ErrorsCh <- err
|
wsc.ErrorsCh <- err
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -534,18 +534,18 @@ func (wsc *wsConnection) writeRoutine() {
|
|||||||
case <-wsc.pingTicker.C:
|
case <-wsc.pingTicker.C:
|
||||||
err := wsc.baseConn.WriteMessage(websocket.PingMessage, []byte{})
|
err := wsc.baseConn.WriteMessage(websocket.PingMessage, []byte{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
wsc.Logger.Error("Failed to write ping message on websocket", "error", err)
|
wsc.Logger.Error("Failed to write ping message on websocket", "err", err)
|
||||||
wsc.Stop()
|
wsc.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
case msg := <-wsc.writeChan:
|
case msg := <-wsc.writeChan:
|
||||||
jsonBytes, err := json.MarshalIndent(msg, "", " ")
|
jsonBytes, err := json.MarshalIndent(msg, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
wsc.Logger.Error("Failed to marshal RPCResponse to JSON", "error", err)
|
wsc.Logger.Error("Failed to marshal RPCResponse to JSON", "err", err)
|
||||||
} else {
|
} else {
|
||||||
wsc.baseConn.SetWriteDeadline(time.Now().Add(time.Second * wsWriteTimeoutSeconds))
|
wsc.baseConn.SetWriteDeadline(time.Now().Add(time.Second * wsWriteTimeoutSeconds))
|
||||||
if err = wsc.baseConn.WriteMessage(websocket.TextMessage, jsonBytes); err != nil {
|
if err = wsc.baseConn.WriteMessage(websocket.TextMessage, jsonBytes); err != nil {
|
||||||
wsc.Logger.Error("Failed to write response on websocket", "error", err)
|
wsc.Logger.Error("Failed to write response on websocket", "err", err)
|
||||||
wsc.Stop()
|
wsc.Stop()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -591,7 +591,7 @@ func (wm *WebsocketManager) WebsocketHandler(w http.ResponseWriter, r *http.Requ
|
|||||||
wsConn, err := wm.Upgrade(w, r, nil)
|
wsConn, err := wm.Upgrade(w, r, nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO - return http error
|
// TODO - return http error
|
||||||
wm.logger.Error("Failed to upgrade to websocket connection", "error", err)
|
wm.logger.Error("Failed to upgrade to websocket connection", "err", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +97,7 @@ func RecoverAndLogHandler(handler http.Handler, logger log.Logger) http.Handler
|
|||||||
WriteRPCResponseHTTP(rww, res)
|
WriteRPCResponseHTTP(rww, res)
|
||||||
} else {
|
} else {
|
||||||
// For the rest,
|
// For the rest,
|
||||||
logger.Error("Panic in RPC HTTP handler", "error", e, "stack", string(debug.Stack()))
|
logger.Error("Panic in RPC HTTP handler", "err", e, "stack", string(debug.Stack()))
|
||||||
rww.WriteHeader(http.StatusInternalServerError)
|
rww.WriteHeader(http.StatusInternalServerError)
|
||||||
WriteRPCResponseHTTP(rww, types.NewRPCResponse("", nil, fmt.Sprintf("Internal Server Error: %v", e)))
|
WriteRPCResponseHTTP(rww, types.NewRPCResponse("", nil, fmt.Sprintf("Internal Server Error: %v", e)))
|
||||||
}
|
}
|
||||||
|
@ -85,7 +85,7 @@ func execBlockOnProxyApp(eventCache types.Fireable, proxyAppConn proxy.AppConnCo
|
|||||||
// Begin block
|
// Begin block
|
||||||
err := proxyAppConn.BeginBlockSync(block.Hash(), types.TM2PB.Header(block.Header))
|
err := proxyAppConn.BeginBlockSync(block.Hash(), types.TM2PB.Header(block.Header))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("Error in proxyAppConn.BeginBlock", "error", err)
|
logger.Error("Error in proxyAppConn.BeginBlock", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ func execBlockOnProxyApp(eventCache types.Fireable, proxyAppConn proxy.AppConnCo
|
|||||||
// End block
|
// End block
|
||||||
abciResponses.EndBlock, err = proxyAppConn.EndBlockSync(uint64(block.Height))
|
abciResponses.EndBlock, err = proxyAppConn.EndBlockSync(uint64(block.Height))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Error("Error in proxyAppConn.EndBlock", "error", err)
|
logger.Error("Error in proxyAppConn.EndBlock", "err", err)
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -252,7 +252,7 @@ func (s *State) CommitStateUpdateMempool(proxyAppConn proxy.AppConnConsensus, bl
|
|||||||
// Commit block, get hash back
|
// Commit block, get hash back
|
||||||
res := proxyAppConn.CommitSync()
|
res := proxyAppConn.CommitSync()
|
||||||
if res.IsErr() {
|
if res.IsErr() {
|
||||||
s.logger.Error("Error in proxyAppConn.CommitSync", "error", res)
|
s.logger.Error("Error in proxyAppConn.CommitSync", "err", res)
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
if res.Log != "" {
|
if res.Log != "" {
|
||||||
@ -298,7 +298,7 @@ func ExecCommitBlock(appConnConsensus proxy.AppConnConsensus, block *types.Block
|
|||||||
// Commit block, get hash back
|
// Commit block, get hash back
|
||||||
res := appConnConsensus.CommitSync()
|
res := appConnConsensus.CommitSync()
|
||||||
if res.IsErr() {
|
if res.IsErr() {
|
||||||
logger.Error("Error in proxyAppConn.CommitSync", "error", res)
|
logger.Error("Error in proxyAppConn.CommitSync", "err", res)
|
||||||
return nil, res
|
return nil, res
|
||||||
}
|
}
|
||||||
if res.Log != "" {
|
if res.Log != "" {
|
||||||
|
@ -148,7 +148,7 @@ func (s *State) SetBlockAndValidators(header *types.Header, blockPartsHeader typ
|
|||||||
// update the validator set with the latest abciResponses
|
// update the validator set with the latest abciResponses
|
||||||
err := updateValidators(nextValSet, abciResponses.EndBlock.Diffs)
|
err := updateValidators(nextValSet, abciResponses.EndBlock.Diffs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
s.logger.Error("Error changing validator set", "error", err)
|
s.logger.Error("Error changing validator set", "err", err)
|
||||||
// TODO: err or carry on?
|
// TODO: err or carry on?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user