diff --git a/snapshot.go b/snapshot.go index 6697b0203..559e1bc64 100644 --- a/snapshot.go +++ b/snapshot.go @@ -1,20 +1,25 @@ package main import ( - "fmt" "time" ) +// basic conf. +// TODO: find a good policy to do snapshot type snapshotConf struct { - // basic + // Etcd will check if snapshot is need every checkingInterval checkingInterval time.Duration - lastWrites uint64 - writesThr uint64 + // The number of writes when the last snapshot happened + lastWrites uint64 + // If the incremental number of writes since the last snapshot + // exceeds the write Threshold, etcd will do a snapshot + writesThr uint64 } var snapConf *snapshotConf func newSnapshotConf() *snapshotConf { + // check snapshot every 3 seconds and the threshold is 20K return &snapshotConf{time.Second * 3, etcdStore.TotalWrites(), 20 * 1000} } @@ -26,9 +31,6 @@ func monitorSnapshot() { if currentWrites > snapConf.writesThr { raftServer.TakeSnapshot() snapConf.lastWrites = etcdStore.TotalWrites() - - } else { - fmt.Println(currentWrites) } } } diff --git a/util.go b/util.go index 29b452126..e57dfca59 100644 --- a/util.go +++ b/util.go @@ -25,6 +25,7 @@ func durationToExpireTime(strDuration string) (time.Time, error) { return time.Unix(0, 0), err } return time.Now().Add(time.Second * (time.Duration)(duration)), nil + } else { return time.Unix(0, 0), nil }