fix: dead loop on removing a sector

This commit is contained in:
zl 2022-03-28 19:07:12 +08:00
parent b8b33c4f06
commit 1646edf513

View File

@ -320,7 +320,7 @@ var fsmPlanners = map[SectorState]func(events []statemachine.Event, state *Secto
FaultReported: final, // not really supported right now
FaultedFinal: final,
Removed: final,
Removed: finalRemoved,
FailedUnrecoverable: final,
}
@ -694,6 +694,12 @@ func (m *Sealing) ForceSectorState(ctx context.Context, id abi.SectorNumber, sta
return m.sectors.Send(id, SectorForceState{state})
}
// as sector has been removed, it's no needs to care about later events,
// just returns length of events as `processed` is ok.
func finalRemoved(events []statemachine.Event, state *SectorInfo) (uint64, error) {
return uint64(len(events)), nil
}
func final(events []statemachine.Event, state *SectorInfo) (uint64, error) {
if len(events) > 0 {
if gm, ok := events[0].User.(globalMutator); ok {