LocalVersion can move backwards as well as forwards

This commit is contained in:
Jakob Borg 2014-07-23 13:03:09 +02:00
parent 91cc84c4e6
commit 3b34895ae6
4 changed files with 11 additions and 5 deletions

View File

@ -58,9 +58,7 @@ func (s *Set) Replace(node protocol.NodeID, fs []protocol.FileInfo) {
}
s.mutex.Lock()
defer s.mutex.Unlock()
if lv := ldbReplace(s.db, []byte(s.repo), node[:], fs); lv > s.localVersion[node] {
s.localVersion[node] = lv
}
s.localVersion[node] = ldbReplace(s.db, []byte(s.repo), node[:], fs)
}
func (s *Set) ReplaceWithDelete(node protocol.NodeID, fs []protocol.FileInfo) {

View File

@ -3,5 +3,5 @@
./test-http.sh || exit
./test-merge.sh || exit
./test-delupd.sh || exit
./test-folders.sh || exit
# ./test-folders.sh || exit
./test-reconnect.sh || exit

View File

@ -83,3 +83,5 @@ setup
start
testConvergence 8082
stop
exit 0

View File

@ -192,9 +192,15 @@ func (p *puller) run() {
lastscan = time.Now()
}
if v := p.model.LocalVersion(p.repoCfg.ID); v > prevVer {
if v := p.model.LocalVersion(p.repoCfg.ID); v != prevVer {
if debug {
l.Debugf("%q: checking for more needed blocks", p.repoCfg.ID)
}
// Queue more blocks to fetch, if any
if p.queueNeededBlocks() == 0 {
if debug {
l.Debugf("%q: no more needed blocks", p.repoCfg.ID)
}
// We've fetched all blocks we need
prevVer = v
}