Skip to content

Commit

Permalink
clear onroad db before loading onroad
Browse files Browse the repository at this point in the history
  • Loading branch information
viteshan committed Jul 20, 2022
1 parent fb6e2b6 commit 3a8bd37
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 2 deletions.
12 changes: 12 additions & 0 deletions ledger/chain/chain.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,6 +230,18 @@ func (c *chain) NewDb(dirName string) (*leveldb.DB, error) {
return db, nil
}

func (c *chain) PrepareOnroadDb() (*leveldb.DB, error) {
dirName := "onroad"
absoluteDirName := path.Join(c.chainDir, dirName)
c.log.Info("clear onroad db", "dir", absoluteDirName)

err := os.RemoveAll(absoluteDirName)
if err != nil {
return nil, err
}
return c.NewDb(dirName)
}

func (c *chain) SetConsensus(verifier interfaces.ConsensusVerifier, periodTimeIndex interfaces.TimeIndex) {
c.log.Info("Start set consensus", "method", "SetConsensus")
c.verifier = verifier
Expand Down
2 changes: 2 additions & 0 deletions ledger/chain/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,8 @@ type Chain interface {

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

PrepareOnroadDb() (*leveldb.DB, error)

Plugins() *chain_plugins.Plugins

SetConsensus(verifier interfaces.ConsensusVerifier, periodTimeIndex interfaces.TimeIndex)
Expand Down
4 changes: 2 additions & 2 deletions ledger/onroad/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -102,13 +102,13 @@ func (manager *Manager) Close() error {
}

func (manager *Manager) prepareOnRoadPool(gid types.Gid) {
db, err := manager.chain.NewDb("onroad")
db, err := manager.chain.PrepareOnroadDb()
if err != nil {
panic(fmt.Sprintf("new onroad storage fail, err is %v", err))
}
manager.db = db
orPool, exist := manager.onRoadPools.Load(gid)
manager.log.Info(fmt.Sprintf("prepareOnRoadPool"), "gid", gid, "exist", exist, "orPool", orPool)
manager.log.Info("prepare OnRoadPool", "gid", gid, "exist", exist, "orPool", orPool)
if !exist || orPool == nil {
manager.onRoadPools.Store(gid, onroad_pool.NewContractOnRoadPool(gid, manager.chain, db))
return
Expand Down

0 comments on commit 3a8bd37

Please sign in to comment.