From 74be20f8640c5d922eaaf1cac828ad092f85dfc6 Mon Sep 17 00:00:00 2001 From: whyrusleeping Date: Sat, 30 Nov 2019 22:10:23 -0600 Subject: [PATCH] print better error if no blocksync peers --- chain/blocksync/blocksync_client.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/chain/blocksync/blocksync_client.go b/chain/blocksync/blocksync_client.go index 494b2ec61..32c810511 100644 --- a/chain/blocksync/blocksync_client.go +++ b/chain/blocksync/blocksync_client.go @@ -156,8 +156,9 @@ func (bs *BlockSync) GetChainMessages(ctx context.Context, h *types.TipSet, coun var err error for _, p := range perm { - res, err := bs.sendRequestToPeer(ctx, peers[p], req) - if err != nil { + res, rerr := bs.sendRequestToPeer(ctx, peers[p], req) + if rerr != nil { + err = rerr log.Warnf("BlockSync request failed for peer %s: %s", peers[p].String(), err) continue } @@ -172,6 +173,10 @@ func (bs *BlockSync) GetChainMessages(ctx context.Context, h *types.TipSet, coun } } + if err == nil { + return nil, xerrors.Errorf("GetChainMessages failed, no peers connected") + } + // TODO: What if we have no peers (and err is nil)? return nil, xerrors.Errorf("GetChainMessages failed with all peers(%d): %w", len(peers), err) }