0
0

MB-18441 - moss lower-level iterator starts positioned on current

The iterator starts off positioned so that Current() is correct, so
invoking Next() right off the bat was incorrect.
This commit is contained in:
Steve Yen 2016-03-01 21:32:11 -08:00
parent 758cb54952
commit 7d67d89a9c

View File

@ -187,14 +187,6 @@ func (s *llStore) update(ssHigher moss.Snapshot, maxBatchSize uint64) (
s.logf("llStore.update, i: %d", i)
}
err = iter.Next()
if err == moss.ErrIteratorDone {
break
}
if err != nil {
return nil, err
}
ex, key, val, err := iter.CurrentEx()
if err == moss.ErrIteratorDone {
break
@ -227,6 +219,14 @@ func (s *llStore) update(ssHigher moss.Snapshot, maxBatchSize uint64) (
" unexpected operation, ex: %v", ex)
}
err = iter.Next()
if err == moss.ErrIteratorDone {
break
}
if err != nil {
return nil, err
}
if maxBatchSize > 0 && i%maxBatchSize == 0 {
err = kvWriter.ExecuteBatch(batch)
if err != nil {