Merge pull request #8235 from filecoin-project/asr/backport
Handle finalize failures in fsm
This commit is contained in:
commit
1c21690dfe
@ -527,6 +527,7 @@ var stateList = []stateMeta{
|
|||||||
{col: color.FgRed, state: sealing.SnapDealsDealsExpired},
|
{col: color.FgRed, state: sealing.SnapDealsDealsExpired},
|
||||||
{col: color.FgRed, state: sealing.ReplicaUpdateFailed},
|
{col: color.FgRed, state: sealing.ReplicaUpdateFailed},
|
||||||
{col: color.FgRed, state: sealing.ReleaseSectorKeyFailed},
|
{col: color.FgRed, state: sealing.ReleaseSectorKeyFailed},
|
||||||
|
{col: color.FgRed, state: sealing.FinalizeReplicaUpdateFailed},
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
6
extern/storage-sealing/fsm.go
vendored
6
extern/storage-sealing/fsm.go
vendored
@ -175,6 +175,7 @@ var fsmPlanners = map[SectorState]func(events []statemachine.Event, state *Secto
|
|||||||
),
|
),
|
||||||
FinalizeReplicaUpdate: planOne(
|
FinalizeReplicaUpdate: planOne(
|
||||||
on(SectorFinalized{}, UpdateActivating),
|
on(SectorFinalized{}, UpdateActivating),
|
||||||
|
on(SectorFinalizeFailed{}, FinalizeReplicaUpdateFailed),
|
||||||
),
|
),
|
||||||
UpdateActivating: planOne(
|
UpdateActivating: planOne(
|
||||||
on(SectorUpdateActive{}, ReleaseSectorKey),
|
on(SectorUpdateActive{}, ReleaseSectorKey),
|
||||||
@ -267,6 +268,9 @@ var fsmPlanners = map[SectorState]func(events []statemachine.Event, state *Secto
|
|||||||
ReleaseSectorKeyFailed: planOne(
|
ReleaseSectorKeyFailed: planOne(
|
||||||
on(SectorUpdateActive{}, ReleaseSectorKey),
|
on(SectorUpdateActive{}, ReleaseSectorKey),
|
||||||
),
|
),
|
||||||
|
FinalizeReplicaUpdateFailed: planOne(
|
||||||
|
on(SectorRetryFinalize{}, FinalizeReplicaUpdate),
|
||||||
|
),
|
||||||
|
|
||||||
// Post-seal
|
// Post-seal
|
||||||
|
|
||||||
@ -536,6 +540,8 @@ func (m *Sealing) plan(events []statemachine.Event, state *SectorInfo) (func(sta
|
|||||||
return m.handleSubmitReplicaUpdateFailed, processed, nil
|
return m.handleSubmitReplicaUpdateFailed, processed, nil
|
||||||
case ReleaseSectorKeyFailed:
|
case ReleaseSectorKeyFailed:
|
||||||
return m.handleReleaseSectorKeyFailed, 0, err
|
return m.handleReleaseSectorKeyFailed, 0, err
|
||||||
|
case FinalizeReplicaUpdateFailed:
|
||||||
|
return m.handleFinalizeFailed, processed, nil
|
||||||
case AbortUpgrade:
|
case AbortUpgrade:
|
||||||
return m.handleAbortUpgrade, processed, nil
|
return m.handleAbortUpgrade, processed, nil
|
||||||
|
|
||||||
|
2
extern/storage-sealing/sector_state.go
vendored
2
extern/storage-sealing/sector_state.go
vendored
@ -60,6 +60,7 @@ var ExistSectorStateList = map[SectorState]struct{}{
|
|||||||
SnapDealsRecoverDealIDs: {},
|
SnapDealsRecoverDealIDs: {},
|
||||||
ReplicaUpdateFailed: {},
|
ReplicaUpdateFailed: {},
|
||||||
ReleaseSectorKeyFailed: {},
|
ReleaseSectorKeyFailed: {},
|
||||||
|
FinalizeReplicaUpdateFailed: {},
|
||||||
AbortUpgrade: {},
|
AbortUpgrade: {},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,6 +131,7 @@ const (
|
|||||||
AbortUpgrade SectorState = "AbortUpgrade"
|
AbortUpgrade SectorState = "AbortUpgrade"
|
||||||
ReplicaUpdateFailed SectorState = "ReplicaUpdateFailed"
|
ReplicaUpdateFailed SectorState = "ReplicaUpdateFailed"
|
||||||
ReleaseSectorKeyFailed SectorState = "ReleaseSectorKeyFailed"
|
ReleaseSectorKeyFailed SectorState = "ReleaseSectorKeyFailed"
|
||||||
|
FinalizeReplicaUpdateFailed SectorState = "FinalizeReplicaUpdateFailed"
|
||||||
|
|
||||||
Faulty SectorState = "Faulty" // sector is corrupted or gone for some reason
|
Faulty SectorState = "Faulty" // sector is corrupted or gone for some reason
|
||||||
FaultReported SectorState = "FaultReported" // sector has been declared as a fault on chain
|
FaultReported SectorState = "FaultReported" // sector has been declared as a fault on chain
|
||||||
|
Loading…
Reference in New Issue
Block a user