aboutsummaryrefslogtreecommitdiffstats
path: root/eth
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2015-05-11 05:12:18 +0800
committerobscuren <geffobscura@gmail.com>2015-05-11 17:39:33 +0800
commita2919b5e17197afcb689b8f4144f255a5872f85d (patch)
tree7d2adf6b51bd2b54d13b177ee39dd9366ffbebc8 /eth
parent6674ea8d67012a8ad1227738c69b8997962fe141 (diff)
downloaddexon-a2919b5e17197afcb689b8f4144f255a5872f85d.tar.gz
dexon-a2919b5e17197afcb689b8f4144f255a5872f85d.tar.zst
dexon-a2919b5e17197afcb689b8f4144f255a5872f85d.zip
core, eth, miner: improved tx removal & fatal error on db sync err
* core: Added GasPriceChange event * eth: When one of the DB flush methods error a fatal error log message is given. Hopefully this will prevent corrupted databases from occuring. * miner: remove transactions with low gas price. Closes #906, #903
Diffstat (limited to 'eth')
-rw-r--r--eth/backend.go8
1 files changed, 5 insertions, 3 deletions
diff --git a/eth/backend.go b/eth/backend.go
index 8f0789467..cdbe35b26 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -451,6 +451,8 @@ func (s *Ethereum) Start() error {
return nil
}
+// sync databases every minute. If flushing fails we exit immediatly. The system
+// may not continue under any circumstances.
func (s *Ethereum) syncDatabases() {
ticker := time.NewTicker(1 * time.Minute)
done:
@@ -459,13 +461,13 @@ done:
case <-ticker.C:
// don't change the order of database flushes
if err := s.extraDb.Flush(); err != nil {
- glog.V(logger.Error).Infof("error: flush extraDb: %v\n", err)
+ glog.Fatalf("fatal error: flush extraDb: %v\n", err)
}
if err := s.stateDb.Flush(); err != nil {
- glog.V(logger.Error).Infof("error: flush stateDb: %v\n", err)
+ glog.Fatalf("fatal error: flush stateDb: %v\n", err)
}
if err := s.blockDb.Flush(); err != nil {
- glog.V(logger.Error).Infof("error: flush blockDb: %v\n", err)
+ glog.Fatalf("fatal error: flush blockDb: %v\n", err)
}
case <-s.shutdownChan:
break done