fix: stmgr: do not use cached migration results if absent from the blockstore (#11663)
This commit is contained in:
parent
b134f3ff63
commit
277cbf9229
@ -182,7 +182,15 @@ func (sm *StateManager) HandleStateForks(ctx context.Context, root cid.Cid, heig
|
|||||||
if err == nil {
|
if err == nil {
|
||||||
if ok {
|
if ok {
|
||||||
log.Infow("CACHED migration", "height", height, "from", root, "to", migCid)
|
log.Infow("CACHED migration", "height", height, "from", root, "to", migCid)
|
||||||
return migCid, nil
|
foundMigratedRoot, err := sm.ChainStore().StateBlockstore().Has(ctx, migCid)
|
||||||
|
if err != nil {
|
||||||
|
log.Errorw("failed to check whether previous migration result is present", "err", err)
|
||||||
|
} else if !foundMigratedRoot {
|
||||||
|
log.Errorw("cached migration result not found in blockstore, running migration again")
|
||||||
|
u.migrationResultCache.Delete(ctx, root)
|
||||||
|
} else {
|
||||||
|
return migCid, nil
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if !errors.Is(err, datastore.ErrNotFound) {
|
} else if !errors.Is(err, datastore.ErrNotFound) {
|
||||||
log.Errorw("failed to lookup previous migration result", "err", err)
|
log.Errorw("failed to lookup previous migration result", "err", err)
|
||||||
|
@ -113,6 +113,10 @@ func (m *migrationResultCache) Store(ctx context.Context, root cid.Cid, resultCi
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m *migrationResultCache) Delete(ctx context.Context, root cid.Cid) {
|
||||||
|
_ = m.ds.Delete(ctx, m.keyForMigration(root))
|
||||||
|
}
|
||||||
|
|
||||||
type Executor interface {
|
type Executor interface {
|
||||||
NewActorRegistry() *vm.ActorRegistry
|
NewActorRegistry() *vm.ActorRegistry
|
||||||
ExecuteTipSet(ctx context.Context, sm *StateManager, ts *types.TipSet, em ExecMonitor, vmTracing bool) (stateroot cid.Cid, rectsroot cid.Cid, err error)
|
ExecuteTipSet(ctx context.Context, sm *StateManager, ts *types.TipSet, em ExecMonitor, vmTracing bool) (stateroot cid.Cid, rectsroot cid.Cid, err error)
|
||||||
|
Loading…
Reference in New Issue
Block a user