Skip to content

Commit 3a8bd37

Browse files
committed
clear onroad db before loading onroad
1 parent fb6e2b6 commit 3a8bd37

File tree

3 files changed

+16
-2
lines changed

3 files changed

+16
-2
lines changed

ledger/chain/chain.go

+12
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,18 @@ func (c *chain) NewDb(dirName string) (*leveldb.DB, error) {
230230
return db, nil
231231
}
232232

233+
func (c *chain) PrepareOnroadDb() (*leveldb.DB, error) {
234+
dirName := "onroad"
235+
absoluteDirName := path.Join(c.chainDir, dirName)
236+
c.log.Info("clear onroad db", "dir", absoluteDirName)
237+
238+
err := os.RemoveAll(absoluteDirName)
239+
if err != nil {
240+
return nil, err
241+
}
242+
return c.NewDb(dirName)
243+
}
244+
233245
func (c *chain) SetConsensus(verifier interfaces.ConsensusVerifier, periodTimeIndex interfaces.TimeIndex) {
234246
c.log.Info("Start set consensus", "method", "SetConsensus")
235247
c.verifier = verifier

ledger/chain/interface.go

+2
Original file line numberDiff line numberDiff line change
@@ -282,6 +282,8 @@ type Chain interface {
282282

283283
NewDb(dirName string) (*leveldb.DB, error)
284284

285+
PrepareOnroadDb() (*leveldb.DB, error)
286+
285287
Plugins() *chain_plugins.Plugins
286288

287289
SetConsensus(verifier interfaces.ConsensusVerifier, periodTimeIndex interfaces.TimeIndex)

ledger/onroad/manager.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,13 @@ func (manager *Manager) Close() error {
102102
}
103103

104104
func (manager *Manager) prepareOnRoadPool(gid types.Gid) {
105-
db, err := manager.chain.NewDb("onroad")
105+
db, err := manager.chain.PrepareOnroadDb()
106106
if err != nil {
107107
panic(fmt.Sprintf("new onroad storage fail, err is %v", err))
108108
}
109109
manager.db = db
110110
orPool, exist := manager.onRoadPools.Load(gid)
111-
manager.log.Info(fmt.Sprintf("prepareOnRoadPool"), "gid", gid, "exist", exist, "orPool", orPool)
111+
manager.log.Info("prepare OnRoadPool", "gid", gid, "exist", exist, "orPool", orPool)
112112
if !exist || orPool == nil {
113113
manager.onRoadPools.Store(gid, onroad_pool.NewContractOnRoadPool(gid, manager.chain, db))
114114
return

0 commit comments

Comments
 (0)