Skip to content

Commit b86896a

Browse files
TerryhungTerry
andauthored
fix: keep running the whole tipset task without cancel (#1219)
* Keep running the whole tipset task without cancel * Add error to errordetected --------- Co-authored-by: Terry <[email protected]>
1 parent bdf1d1c commit b86896a

File tree

5 files changed

+19
-20
lines changed

5 files changed

+19
-20
lines changed

chain/indexer/integrated/tipset/tipset.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ func (ti *TipSetIndexer) TipSet(ctx context.Context, ts *types.TipSet) (chan *Re
145145
if res.Error != nil {
146146
llt.Errorw("task returned with error", "error", res.Error.Error())
147147
errCh <- res.Error
148-
return
149148
}
150149
// processor is complete if we receive a result
151150
executingTasks[res.Task] = true

tasks/fevm/blockheader/tasks.go

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,24 +48,27 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
4848
cid, err := executed.Key().Cid()
4949
if err != nil {
5050
log.Errorf("Error at getting cid: [%v] err: %v", cid, err)
51-
return nil, report, err
51+
report.ErrorsDetected = err
52+
return nil, report, nil
5253
}
5354

5455
hash, err := ethtypes.EthHashFromCid(cid)
5556
if err != nil {
5657
log.Errorf("Error at finding hash: [%v] err: %v", hash, err)
57-
return nil, report, err
58+
report.ErrorsDetected = err
59+
return nil, report, nil
5860
}
5961

6062
ethBlock, err := p.node.EthGetBlockByHash(ctx, hash, false)
6163
if err != nil {
6264
log.Errorf("EthGetBlockByHash: [hash: %v] err: %v", hash.String(), err)
63-
return nil, report, err
65+
report.ErrorsDetected = err
66+
return nil, report, nil
6467
}
6568

6669
if ethBlock.Number == 0 {
6770
log.Warn("block number == 0")
68-
return nil, report, err
71+
return nil, report, nil
6972
}
7073
return &fevm.FEVMBlockHeader{
7174
Height: int64(executed.Height()),

tasks/fevm/contract/task.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
5353

5454
actorChanges, err := p.node.ActorStateChanges(ctx, current, executed)
5555
if err != nil {
56-
return nil, report, err
56+
report.ErrorsDetected = err
57+
return nil, report, nil
5758
}
5859

5960
out := make(fevm.FEVMContractList, 0)
@@ -109,10 +110,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
109110
}
110111

111112
if len(errs) > 0 {
112-
err = fmt.Errorf("%v", errs)
113-
} else {
114-
err = nil
113+
report.ErrorsDetected = fmt.Errorf("%v", errs)
115114
}
116115

117-
return model.PersistableList{out}, report, err
116+
return model.PersistableList{out}, report, nil
118117
}

tasks/fevm/receipt/tasks.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
5555
messages, err := p.node.ChainGetMessagesInTipset(ctx, executed.Key())
5656
if err != nil {
5757
log.Errorf("Error at getting messages. ts: %v, height: %v, err: %v", executed.String(), executed.Height(), err)
58-
return nil, report, err
58+
report.ErrorsDetected = err
59+
return nil, report, nil
5960
}
6061
errs := []error{}
6162
out := make(fevm.FEVMReceiptList, 0)
@@ -115,10 +116,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
115116
}
116117

117118
if len(errs) > 0 {
118-
err = fmt.Errorf("%v", errs)
119-
} else {
120-
err = nil
119+
report.ErrorsDetected = fmt.Errorf("%v", errs)
121120
}
122121

123-
return model.PersistableList{out}, report, err
122+
return model.PersistableList{out}, report, nil
124123
}

tasks/fevm/transaction/tasks.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
5353
messages, err := p.node.ChainGetMessagesInTipset(ctx, executed.Key())
5454
if err != nil {
5555
log.Errorf("Error at getting messages. ts: %v, height: %v, err: %v", executed.String(), executed.Height(), err)
56-
return nil, report, err
56+
report.ErrorsDetected = err
57+
return nil, report, nil
5758
}
5859
errs := []error{}
5960
out := make(fevm.FEVMTransactionList, 0)
@@ -127,10 +128,8 @@ func (p *Task) ProcessTipSets(ctx context.Context, current *types.TipSet, execut
127128
}
128129

129130
if len(errs) > 0 {
130-
err = fmt.Errorf("%v", errs)
131-
} else {
132-
err = nil
131+
report.ErrorsDetected = fmt.Errorf("%v", errs)
133132
}
134133

135-
return model.PersistableList{out}, report, err
134+
return model.PersistableList{out}, report, nil
136135
}

0 commit comments

Comments
 (0)