Skip to content

Commit 6c3df24

Browse files
committed
add back some changes
1 parent f4049c7 commit 6c3df24

2 files changed

Lines changed: 16 additions & 5 deletions

File tree

block/internal/executing/executor.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,6 @@ func (e *Executor) initializeState() error {
211211
if err := batch.SetHeight(state.LastBlockHeight); err != nil {
212212
return fmt.Errorf("failed to set store height: %w", err)
213213
}
214-
if err := batch.UpdateState(state); err != nil {
215-
return fmt.Errorf("failed to update state: %w", err)
216-
}
217214
if err := batch.Commit(); err != nil {
218215
return fmt.Errorf("failed to commit initial state: %w", err)
219216
}
@@ -357,6 +354,20 @@ func (e *Executor) produceBlock() error {
357354
if err != nil {
358355
return fmt.Errorf("failed to create block: %w", err)
359356
}
357+
358+
// saved early for crash recovery, will be overwritten later with the final signature
359+
b, err := e.store.NewBatch(context.Background())
360+
if err != nil {
361+
return fmt.Errorf("failed to create batch: %w", err)
362+
}
363+
364+
if err = b.SaveBlockData(header, data, &types.Signature{}); err != nil {
365+
return fmt.Errorf("failed to save block: %w", err)
366+
}
367+
368+
if err := b.Commit(); err != nil {
369+
return fmt.Errorf("failed to commit batch: %w", err)
370+
}
360371
}
361372

362373
newState, err := e.applyBlock(e.ctx, header.Header, data)

block/internal/syncing/syncer.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -345,9 +345,9 @@ func (s *Syncer) tryFetchFromP2P() {
345345
s.p2pHandler.ProcessHeaderRange(s.ctx, currentHeight+1, newHeaderHeight, s.heightInCh)
346346
}
347347

348-
// Process data
348+
// Process data (if not already processed by headers)
349349
newDataHeight := s.dataBroadcaster.Store().Height()
350-
if newDataHeight > currentHeight {
350+
if newDataHeight != newHeaderHeight && newDataHeight > currentHeight {
351351
s.p2pHandler.ProcessDataRange(s.ctx, currentHeight+1, newDataHeight, s.heightInCh)
352352
}
353353
}

0 commit comments

Comments
 (0)