Merge pull request #5615 from filecoin-project/feat/disputer-logs
Disputer logs to its own logger
This commit is contained in:
commit
f2578a8e83
@ -20,10 +20,14 @@ import (
|
|||||||
builtin3 "github.com/filecoin-project/specs-actors/v3/actors/builtin"
|
builtin3 "github.com/filecoin-project/specs-actors/v3/actors/builtin"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
|
logging "github.com/ipfs/go-log/v2"
|
||||||
|
|
||||||
"github.com/filecoin-project/lotus/chain/store"
|
"github.com/filecoin-project/lotus/chain/store"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var disputeLog = logging.Logger("disputer")
|
||||||
|
|
||||||
const Confidence = 10
|
const Confidence = 10
|
||||||
|
|
||||||
type minerDeadline struct {
|
type minerDeadline struct {
|
||||||
@ -165,13 +169,13 @@ var disputerStartCmd = &cli.Command{
|
|||||||
startEpoch = abi.ChainEpoch(cctx.Uint64("height"))
|
startEpoch = abi.ChainEpoch(cctx.Uint64("height"))
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("checking sync status")
|
disputeLog.Info("checking sync status")
|
||||||
|
|
||||||
if err := SyncWait(ctx, api, false); err != nil {
|
if err := SyncWait(ctx, api, false); err != nil {
|
||||||
return xerrors.Errorf("sync wait: %w", err)
|
return xerrors.Errorf("sync wait: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println("setting up window post disputer")
|
disputeLog.Info("setting up window post disputer")
|
||||||
|
|
||||||
// subscribe to head changes and validate the current value
|
// subscribe to head changes and validate the current value
|
||||||
|
|
||||||
@ -220,10 +224,10 @@ var disputerStartCmd = &cli.Command{
|
|||||||
statusCheckTicker := time.NewTicker(time.Hour)
|
statusCheckTicker := time.NewTicker(time.Hour)
|
||||||
defer statusCheckTicker.Stop()
|
defer statusCheckTicker.Stop()
|
||||||
|
|
||||||
fmt.Println("starting up window post disputer")
|
disputeLog.Info("starting up window post disputer")
|
||||||
|
|
||||||
applyTsk := func(tsk types.TipSetKey) error {
|
applyTsk := func(tsk types.TipSetKey) error {
|
||||||
log.Infof("last checked height: %d", lastEpoch)
|
disputeLog.Infow("last checked epoch", "epoch", lastEpoch)
|
||||||
dls, ok := deadlineMap[lastEpoch]
|
dls, ok := deadlineMap[lastEpoch]
|
||||||
delete(deadlineMap, lastEpoch)
|
delete(deadlineMap, lastEpoch)
|
||||||
if !ok || startEpoch >= lastEpoch {
|
if !ok || startEpoch >= lastEpoch {
|
||||||
@ -261,12 +265,12 @@ var disputerStartCmd = &cli.Command{
|
|||||||
|
|
||||||
// TODO: Parallelizeable / can be integrated into the previous deadline-iterating for loop
|
// TODO: Parallelizeable / can be integrated into the previous deadline-iterating for loop
|
||||||
for _, dpmsg := range dpmsgs {
|
for _, dpmsg := range dpmsgs {
|
||||||
log.Infof("disputing a PoSt from miner %s", dpmsg.To)
|
disputeLog.Infow("disputing a PoSt", "miner", dpmsg.To)
|
||||||
m, err := api.MpoolPushMessage(ctx, dpmsg, mss)
|
m, err := api.MpoolPushMessage(ctx, dpmsg, mss)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Infof("failed to dispute post message: %s", err.Error())
|
disputeLog.Errorw("failed to dispute post message", "err", err.Error(), "miner", dpmsg.To)
|
||||||
} else {
|
} else {
|
||||||
log.Infof("disputed a PoSt in message: %s", m.Cid())
|
disputeLog.Infof("submited dispute", "mcid", m.Cid(), "miner", dpmsg.To)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -296,7 +300,7 @@ var disputerStartCmd = &cli.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
case <-statusCheckTicker.C:
|
case <-statusCheckTicker.C:
|
||||||
log.Infof("Running status check: ")
|
disputeLog.Infof("running status check")
|
||||||
|
|
||||||
minerList, err = api.StateListMiners(ctx, types.EmptyTSK)
|
minerList, err = api.StateListMiners(ctx, types.EmptyTSK)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -321,14 +325,14 @@ var disputerStartCmd = &cli.Command{
|
|||||||
// if an epoch got "skipped" from the deadlineMap somehow, just fry it now instead of letting it sit around forever
|
// if an epoch got "skipped" from the deadlineMap somehow, just fry it now instead of letting it sit around forever
|
||||||
_, ok := deadlineMap[lastStatusCheckEpoch]
|
_, ok := deadlineMap[lastStatusCheckEpoch]
|
||||||
if ok {
|
if ok {
|
||||||
log.Infof("epoch %d was skipped during execution, deleting it from deadlineMap")
|
disputeLog.Infow("epoch skipped during execution, deleting it from deadlineMap", "epoch", lastStatusCheckEpoch)
|
||||||
delete(deadlineMap, lastStatusCheckEpoch)
|
delete(deadlineMap, lastStatusCheckEpoch)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Infof("Status check complete")
|
log.Infof("status check complete")
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
return xerrors.Errorf("context cancelled")
|
return ctx.Err()
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@ -336,10 +340,14 @@ var disputerStartCmd = &cli.Command{
|
|||||||
|
|
||||||
for {
|
for {
|
||||||
err := disputeLoop()
|
err := disputeLoop()
|
||||||
if err != nil {
|
if err == context.Canceled {
|
||||||
fmt.Println("disputer shutting down: ", err)
|
disputeLog.Info("disputer shutting down")
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
if err != nil {
|
||||||
|
disputeLog.Errorw("disputer shutting down", "err", err)
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
Loading…
Reference in New Issue
Block a user