-
Notifications
You must be signed in to change notification settings - Fork 98
Open
Description
Line 246 in 45ea43a
| log.Warnf("sendRequest failed: %s", err) |
lotus.log
2021-04-08T03:13:34.867+0800 WARN rpc [email protected]/websocket.go:246 sendRequest failed: writev tcp4 ip -> ip: writev: broken pipe
2021-04-08T03:13:34.867+0800 WARN rpc [email protected]/websocket.go:246 sendRequest failed: writev tcp4 ip -> ip: writev: no route to host
2021-04-08T03:13:34.867+0800 WARN rpc [email protected]/websocket.go:246 sendRequest failed: writev tcp4 ip -> ip: writev: no route to host
2021-04-08T03:13:34.867+0800 WARN chainstore store/store.go:293 head change sub is slow, has 16 buffered entries
2021-04-08T03:13:34.867+0800 WARN chainstore store/store.go:293 head change sub is slow, has 16 buffered entries
2021-04-08T03:13:34.867+0800 WARN chainstore store/store.go:293 head change sub is slow, has 16 buffered entries
2021-04-08T03:13:34.867+0800 WARN chainstore store/store.go:293 head change sub is slow, has 16 buffered entries
2021-04-08T03:13:34.867+0800 WARN chainstore store/store.go:293 head change sub is slow, has 16 buffered entries
When miner call lotus ChainNotify api, lotus will exec SubHeadChanges. But sometime miner was crash, lotus will send request failed, so that handleOutChans method was exit and it can not consume 'headchange' topic.
finally lead to takeHeaviestTipSet method was block.
func (cs *ChainStore) takeHeaviestTipSet(ctx context.Context, ts *types.TipSet) error {
....
if cs.heaviest != nil { // buf
if len(cs.reorgCh) > 0 {
log.Warnf("Reorg channel running behind, %d reorgs buffered", len(cs.reorgCh))
}
// there will block
cs.reorgCh <- reorg{
old: cs.heaviest,
new: ts,
}
} else {
log.Warnf("no heaviest tipset found, using %s", ts.Cids())
}
....
}
Metadata
Metadata
Assignees
Labels
No labels