mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-03 11:45:18 +00:00
Fixes #5422. That turned out to be a whole lot easier than expected. Backport of #5536.
This commit is contained in:
@@ -28,5 +28,5 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
|
||||
|
||||
- [blockchain/v2] \#5499 Fix "duplicate block enqueued by processor" panic (@melekes)
|
||||
- [abci/grpc] \#5520 Return async responses in order, to avoid mempool panics. (@erikgrinaker)
|
||||
|
||||
- [blockchain/v2] \#5530 Fix "processed height 4541 but expected height 4540" panic (@melekes)
|
||||
- [consensus/wal] Fix WAL autorepair by opening target WAL in read/write mode (@erikgrinaker)
|
||||
|
||||
@@ -328,7 +328,7 @@ func (cs *State) OnStart() error {
|
||||
return err
|
||||
}
|
||||
|
||||
cs.Logger.Info("WAL file is corrupted. Attempting repair", "err", err)
|
||||
cs.Logger.Error("WAL file is corrupted, attempting repair", "err", err)
|
||||
|
||||
// 1) prep work
|
||||
if err := cs.wal.Stop(); err != nil {
|
||||
@@ -345,7 +345,7 @@ func (cs *State) OnStart() error {
|
||||
|
||||
// 3) try to repair (WAL file will be overwritten!)
|
||||
if err := repairWalFile(corruptedFile, cs.config.WalFile()); err != nil {
|
||||
cs.Logger.Error("Repair failed", "err", err)
|
||||
cs.Logger.Error("WAL repair failed", "err", err)
|
||||
return err
|
||||
}
|
||||
cs.Logger.Info("Successful repair")
|
||||
@@ -2212,7 +2212,7 @@ func repairWalFile(src, dst string) error {
|
||||
}
|
||||
defer in.Close()
|
||||
|
||||
out, err := os.Open(dst)
|
||||
out, err := os.Create(dst)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user