Open firesWu opened 3 years ago
// forward message
if err := c.sendRequest(request{
Jsonrpc: "2.0",
ID: nil, // notification
Method: chValue,
Params: []param{{v: reflect.ValueOf(caseToID[chosen-internal])}, {v: val}},
}); err != nil {
log.Warnf("sendRequest failed: %s", err)
return
}
when this err is not nil, Why return. @magik6k @jennijuju
Describe the bug When miner call lotus
ChainNotify
api, lotus will execSubHeadChanges
. But sometime miner machine was crash, lotus will send request failed, so thathandleOutChans
method was exit and it can not consumeheadchange
topic. finally lead to takeHeaviestTipSet method was block.Version (run
lotus version
): go-jsonrpc v0.1.4-0.20210217175800-45ea43ac2becTo Reproduce Steps to reproduce the behavior:
Expected behavior when miner machine was crash, lotus still normal sync
Logs
Additional context
https://github.com/filecoin-project/go-jsonrpc/issues/47