From 4e12c4cb69734f7dd262b912fe728dfc652ae62e Mon Sep 17 00:00:00 2001 From: Leo Cheung Date: Mon, 6 Jul 2020 15:52:58 +0800 Subject: [PATCH 1/3] Update wdpost_run.go if some unrecovered sectors can not recovered (such as cache file is missing) , miner should not send message "DeclareFaultsRecovered" --- storage/wdpost_run.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/storage/wdpost_run.go b/storage/wdpost_run.go index fcace70dd..f0d18d7f4 100644 --- a/storage/wdpost_run.go +++ b/storage/wdpost_run.go @@ -150,6 +150,15 @@ func (s *WindowPoStScheduler) checkNextRecoveries(ctx context.Context, deadline if err != nil { return xerrors.Errorf("checking unrecovered sectors: %w", err) } + + // check some unrecovered sectors can not recovered (such as cache file is missing) + sbfCount, err := sbf.Count() + if err != nil { + log.Errorf(" sbf.Count() | %v", err) + } else if sbfCount == 0 { + log.Warnf("unrecovered exists sbf.Count() sectors can not recovery, exit this function.", err) + return nil + } params := &miner.DeclareFaultsRecoveredParams{ Recoveries: []miner.RecoveryDeclaration{{Deadline: deadline, Sectors: sbf}}, From ddba20ccdf48b918d5ad40cda5974f7425013359 Mon Sep 17 00:00:00 2001 From: Leo Cheung Date: Mon, 6 Jul 2020 06:19:47 -0500 Subject: [PATCH 2/3] Update storage/wdpost_run.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- storage/wdpost_run.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storage/wdpost_run.go b/storage/wdpost_run.go index f0d18d7f4..59b477388 100644 --- a/storage/wdpost_run.go +++ b/storage/wdpost_run.go @@ -151,7 +151,7 @@ func (s *WindowPoStScheduler) checkNextRecoveries(ctx context.Context, deadline return xerrors.Errorf("checking unrecovered sectors: %w", err) } - // check some unrecovered sectors can not recovered (such as cache file is missing) + // if all sectors failed to recover, don't declare recoveries sbfCount, err := sbf.Count() if err != nil { log.Errorf(" sbf.Count() | %v", err) From 874cb46cb3fa6174bc72b431aba378e79449e10f Mon Sep 17 00:00:00 2001 From: Leo Cheung Date: Mon, 6 Jul 2020 06:20:41 -0500 Subject: [PATCH 3/3] Update storage/wdpost_run.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Łukasz Magiera --- storage/wdpost_run.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/storage/wdpost_run.go b/storage/wdpost_run.go index 59b477388..0034e4b5e 100644 --- a/storage/wdpost_run.go +++ b/storage/wdpost_run.go @@ -154,10 +154,12 @@ func (s *WindowPoStScheduler) checkNextRecoveries(ctx context.Context, deadline // if all sectors failed to recover, don't declare recoveries sbfCount, err := sbf.Count() if err != nil { - log.Errorf(" sbf.Count() | %v", err) - } else if sbfCount == 0 { - log.Warnf("unrecovered exists sbf.Count() sectors can not recovery, exit this function.", err) - return nil + return xerrors.Errorf("counting recovered sectors: %w", err) + } + + if sbfCount == 0 { + log.Warnw("No recoveries to declare", "deadline", deadline, "faulty", uc) + return nil } params := &miner.DeclareFaultsRecoveredParams{