Skip to content

Commit

Permalink
Merge branch 'releases' into jen/v15backport
Browse files Browse the repository at this point in the history
  • Loading branch information
jennijuju committed Mar 4, 2022
2 parents b7e1548 + 5b33555 commit 0ac214b
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 13 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,16 @@ Contributors
| Rob Quist | 1 | +2/-2 | 1 |
| shotcollin | 1 | +1/-1 | 1 |

# 1.14.4 / 2022-03-03

This is a *highly recommended* optional release for storage providers that are doing snap deals. This fix the bug
that causes some snap deal sectors are stuck in `FinalizeReplicaUpdate`. In addition, SPs should be able to force
update sectors status without getting blocked by `normal shutdown of state machine`.

# v1.14.3 / 2022-02-28

This is an **optional** release, that includes a fix to properly register the `--really-do-it` flag for abort-upgrade.

# 1.14.2 / 2022-02-24

This is an **optional** release of lotus, that's had a couple more improvements w.r.t Snap experience for storage providers in preparation of the[upcoming OhSnap upgrade](https://github.com/filecoin-project/community/discussions/74?sort=new#discussioncomment-1922550).
Expand Down
36 changes: 23 additions & 13 deletions extern/storage-sealing/fsm.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,13 @@ import (
func (m *Sealing) Plan(events []statemachine.Event, user interface{}) (interface{}, uint64, error) {
next, processed, err := m.plan(events, user.(*SectorInfo))
if err != nil || next == nil {
return nil, processed, err
l := Log{
Timestamp: uint64(time.Now().Unix()),
Message: fmt.Sprintf("state machine error: %s", err),
Kind: fmt.Sprintf("error;%T", err),
}
user.(*SectorInfo).logAppend(l)
return nil, processed, nil
}

return func(ctx statemachine.Context, si SectorInfo) error {
Expand Down Expand Up @@ -313,6 +319,21 @@ var fsmPlanners = map[SectorState]func(events []statemachine.Event, state *Secto
FailedUnrecoverable: final,
}

func (state *SectorInfo) logAppend(l Log) {
if len(state.Log) > 8000 {
log.Warnw("truncating sector log", "sector", state.SectorNumber)
state.Log[2000] = Log{
Timestamp: uint64(time.Now().Unix()),
Message: "truncating log (above 8000 entries)",
Kind: fmt.Sprintf("truncate"),
}

state.Log = append(state.Log[:2000], state.Log[6000:]...)
}

state.Log = append(state.Log, l)
}

func (m *Sealing) logEvents(events []statemachine.Event, state *SectorInfo) {
for _, event := range events {
log.Debugw("sector event", "sector", state.SectorNumber, "type", fmt.Sprintf("%T", event.User), "event", event.User)
Expand Down Expand Up @@ -341,18 +362,7 @@ func (m *Sealing) logEvents(events []statemachine.Event, state *SectorInfo) {
l.Trace = fmt.Sprintf("%+v", err)
}

if len(state.Log) > 8000 {
log.Warnw("truncating sector log", "sector", state.SectorNumber)
state.Log[2000] = Log{
Timestamp: uint64(time.Now().Unix()),
Message: "truncating log (above 8000 entries)",
Kind: fmt.Sprintf("truncate"),
}

state.Log = append(state.Log[:2000], state.Log[6000:]...)
}

state.Log = append(state.Log, l)
state.logAppend(l)
}
}

Expand Down

0 comments on commit 0ac214b

Please sign in to comment.