Skip to content

Commit

Permalink
fix all straightforward cases reported by vetshadow
Browse files Browse the repository at this point in the history
Change-Id: I771cf18b015d131c49a3f2cfec351046c73f73b8
Reviewed-on: http://review.couchbase.org/75873
Reviewed-by: Steve Yen <steve.yen@gmail.com>
Tested-by: Marty Schoch <marty.schoch@gmail.com>
  • Loading branch information
mschoch committed Mar 28, 2017
1 parent e560412 commit 0dfcd9c
Show file tree
Hide file tree
Showing 12 changed files with 99 additions and 56 deletions.
30 changes: 19 additions & 11 deletions benchmark_store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"time"
)

const LARGE_PRIME = int64(9576890767)
const LargePrime = int64(9576890767)

type benchStoreSpec struct {
numItems, keySize, valSize, batchSize int
Expand Down Expand Up @@ -301,12 +301,14 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {
phaseDo("access", access.kind, false, func() {
fmt.Printf(" <<access %d: %+v>>\n", accessi, access)

batch, err := coll.NewBatch(access.batchSize, access.batchSize*(spec.keySize+spec.valSize))
var batch Batch
batch, err = coll.NewBatch(access.batchSize, access.batchSize*(spec.keySize+spec.valSize))
if err != nil {
b.Fatal(err)
}

ss, err := coll.Snapshot()
var ss Snapshot
ss, err = coll.Snapshot()
if err != nil {
b.Fatal(err)
}
Expand All @@ -319,14 +321,15 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {
binary.PutVarint(buf, pos+int64(access.domainFrom))

if access.random {
pos = pos + LARGE_PRIME
pos = pos + LargePrime
} else {
pos++
}
pos = pos % domainSize64

if float32(i%100)/100.0 < access.pctGet {
v, err := ss.Get(buf[0:spec.keySize], readOptions)
var v []byte
v, err = ss.Get(buf[0:spec.keySize], readOptions)
if err != nil {
b.Fatal(err)
}
Expand Down Expand Up @@ -384,7 +387,8 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {
// ------------------------------------------------

phase("load", "w", func() {
batch, err := coll.NewBatch(spec.batchSize, spec.batchSize*(spec.keySize+spec.valSize))
var batch Batch
batch, err = coll.NewBatch(spec.batchSize, spec.batchSize*(spec.keySize+spec.valSize))
if err != nil {
b.Fatal(err)
}
Expand All @@ -397,7 +401,7 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {
binary.PutVarint(buf, pos)

if spec.randomLoad {
pos = (pos + LARGE_PRIME) % numItems64
pos = (pos + LargePrime) % numItems64
} else {
pos++
}
Expand Down Expand Up @@ -430,7 +434,8 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {

phase("drain", "w", func() {
for {
stats, err := coll.Stats()
var stats *CollectionStats
stats, err = coll.Stats()
if err != nil {
b.Fatal(b)
}
Expand Down Expand Up @@ -475,18 +480,21 @@ func benchmarkStoreDo(b *testing.B, spec benchStoreSpec, buf []byte) {
// ------------------------------------------------

phase("iter", "r", func() {
ss, err := coll.Snapshot()
var ss Snapshot
ss, err = coll.Snapshot()
if err != nil {
b.Fatal(err)
}

iter, err := ss.StartIterator(nil, nil, IteratorOptions{})
var iter Iterator
iter, err = ss.StartIterator(nil, nil, IteratorOptions{})
if err != nil {
b.Fatal(err)
}

for {
k, v, err := iter.Current()
var k, v []byte
k, v, err = iter.Current()
if err == ErrIteratorDone {
break
}
Expand Down
6 changes: 3 additions & 3 deletions collection_merger.go
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,9 @@ func (m *collection) mergerWaitForWork(pings []ping) (
atomic.AddUint64(&m.stats.TotMergerWaitIncomingStop, 1)
return true, mergeAll, pings

case ping := <-m.pingMergerCh:
pings = append(pings, ping)
if ping.kind == "mergeAll" {
case pingVal := <-m.pingMergerCh:
pings = append(pings, pingVal)
if pingVal.kind == "mergeAll" {
mergeAll = true
}

Expand Down
3 changes: 2 additions & 1 deletion iterator.go
Original file line number Diff line number Diff line change
Expand Up @@ -385,7 +385,8 @@ func (iter *iterator) Current() ([]byte, []byte, error) {
}

if op == OperationMerge {
valMerged, err := iter.ss.getMerged(key, val, iter.cursors[0].ssIndex-1,
var valMerged []byte
valMerged, err = iter.ss.getMerged(key, val, iter.cursors[0].ssIndex-1,
iter.iteratorOptions.base, ReadOptions{})
if err != nil {
return nil, nil, err
Expand Down
4 changes: 2 additions & 2 deletions iterator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -394,7 +394,7 @@ func testIteratorSeekTo(t *testing.T, startEarly, oneBatch bool,
t.Errorf("expected done, got: %v", err)
}

gotk, _, err := itr.Current()
gotk, _, err = itr.Current()
if err != nil {
t.Errorf("expected no Current err, got: %v", err)
}
Expand All @@ -413,7 +413,7 @@ func testIteratorSeekTo(t *testing.T, startEarly, oneBatch bool,
t.Errorf("expected no SeekTo err, got: %v", err)
}

gotk, _, err := itr.Current()
gotk, _, err = itr.Current()
if err != nil {
t.Errorf("expected no Current err, got: %v", err)
}
Expand Down
3 changes: 2 additions & 1 deletion mmap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,8 @@ func TestRefCounting(t *testing.T) {

waitUntilClean := func() error {
for {
stats, err := m.Stats()
var stats *CollectionStats
stats, err = m.Stats()
if err != nil {
return err
}
Expand Down
28 changes: 19 additions & 9 deletions persister_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,8 @@ func runTestPersister(t *testing.T, numItems int) {
checkSnapshot := func(msg string, ss Snapshot, expectedNum int) {
for i := 0; i < numItems; i++ {
k := fmt.Sprintf("%d", i)
v, err := ss.Get([]byte(k), ReadOptions{})
var v []byte
v, err = ss.Get([]byte(k), ReadOptions{})
if err != nil {
t.Fatalf("error %s getting key: %s, %v", msg, k, err)
}
Expand All @@ -326,15 +327,18 @@ func runTestPersister(t *testing.T, numItems int) {
}
}

iter, err := ss.StartIterator(nil, nil, IteratorOptions{})
var iter Iterator
iter, err = ss.StartIterator(nil, nil, IteratorOptions{})
if err != nil {
t.Fatalf("error %s checkSnapshot iter, err: %v", msg, err)
}

n := 0
var lastKey []byte
for {
ex, key, val, err := iter.CurrentEx()
var ex EntryEx
var key, val []byte
ex, key, val, err = iter.CurrentEx()
if err == ErrIteratorDone {
break
}
Expand Down Expand Up @@ -445,7 +449,8 @@ func runTestPersister(t *testing.T, numItems int) {
checkGetsGone := func(ss Snapshot) {
for i := 0; i < numItems; i++ {
k := fmt.Sprintf("%d", i)
v, err := ss.Get([]byte(k), ReadOptions{})
var v []byte
v, err = ss.Get([]byte(k), ReadOptions{})
if err != nil {
t.Fatalf("error getting key: %s, %v", k, err)
}
Expand Down Expand Up @@ -807,7 +812,8 @@ func TestPersistMergeOps_MB19667(t *testing.T) {
go mc.runPersister()

mergeVal := func(v string) {
b, err := m.NewBatch(0, 0)
var b Batch
b, err = m.NewBatch(0, 0)
if err != nil || b == nil {
t.Errorf("expected b ok")
}
Expand Down Expand Up @@ -961,19 +967,23 @@ func TestPersistMergeOps_MB19667(t *testing.T) {
// --------------------------------------------

checkVal := func(msg, expected string) {
ss, err := m.Snapshot()
var ss Snapshot
ss, err = m.Snapshot()
if err != nil {
t.Errorf("%s - expected ss ok", msg)
}
getv, err := ss.Get([]byte("k"), ReadOptions{})
var getv []byte
getv, err = ss.Get([]byte("k"), ReadOptions{})
if err != nil || string(getv) != expected {
t.Errorf("%s - expected Get %s, got: %s, err: %v", msg, expected, getv, err)
}
iter, err := ss.StartIterator(nil, nil, IteratorOptions{})
var iter Iterator
iter, err = ss.StartIterator(nil, nil, IteratorOptions{})
if err != nil || iter == nil {
t.Errorf("%s - expected iter", msg)
}
k, v, err := iter.Current()
var k []byte
k, v, err = iter.Current()
if err != nil {
t.Errorf("%s - expected iter current no err", msg)
}
Expand Down
6 changes: 3 additions & 3 deletions ping.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ func receivePings(pingCh chan ping, pings []ping,
kindMatch string, kindSeen bool) ([]ping, bool) {
for {
select {
case ping := <-pingCh:
pings = append(pings, ping)
if ping.kind == kindMatch {
case pingVal := <-pingCh:
pings = append(pings, pingVal)
if pingVal.kind == kindMatch {
kindSeen = true
}

Expand Down
9 changes: 6 additions & 3 deletions smat.go
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,8 @@ func iteratorNextFunc(ctx smat.Context) (next smat.State, err error) {
smatLog(prefix, "iteratorNext check itr: %p, %#v\n", itr, itr)
i := 0
for {
ik, iv, err := itr.Current()
var ik, iv []byte
ik, iv, err = itr.Current()
smatLog(prefix, "== iteratorNext, check itr i: %d, k: %s, v: %s, err: %v\n", i, ik, iv, err)
if err == ErrIteratorDone {
break
Expand Down Expand Up @@ -529,7 +530,8 @@ func closeReopenFunc(ctx smat.Context) (next smat.State, err error) {
waitUntilClean := func() error {
for c.coll != nil &&
c.coll.(*collection) != nil { // Wait until dirty ops are drained.
stats, err := c.coll.Stats()
var stats *CollectionStats
stats, err = c.coll.Stats()
if err != nil {
return err
}
Expand Down Expand Up @@ -592,7 +594,8 @@ func closeReopenFunc(ctx smat.Context) (next smat.State, err error) {
smatLog(prefix, "LowerLevelUpdate... higher: %+v\n", higher)
smatLog(prefix, "LowerLevelUpdate... higher.a: %+v\n", higher.(*segmentStack).a)

ss, err := store.Persist(higher, StorePersistOptions{
var ss Snapshot
ss, err = store.Persist(higher, StorePersistOptions{
CompactionConcern: smatCompactionConcern,
})

Expand Down
9 changes: 6 additions & 3 deletions store.go
Original file line number Diff line number Diff line change
Expand Up @@ -546,7 +546,8 @@ func (s *Store) openCollection(
co := options.CollectionOptions
co.LowerLevelInit = storeSnapshotInit
co.LowerLevelUpdate = func(higher Snapshot) (Snapshot, error) {
ss, err := s.Persist(higher, persistOptions)
var ss Snapshot
ss, err = s.Persist(higher, persistOptions)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -584,7 +585,8 @@ func restoreCollection(co *CollectionOptions, storeFooter *Footer) (
rv *collection, err error) {
var coll *collection
if storeFooter.incarNum == 0 {
newColl, err := NewCollection(*co)
var newColl Collection
newColl, err = NewCollection(*co)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -612,7 +614,8 @@ func restoreCollection(co *CollectionOptions, storeFooter *Footer) (
coll.highestIncarNum++
childFooter.incarNum = coll.highestIncarNum

childCollection, err := restoreCollection(co, childFooter)
var childCollection *collection
childCollection, err = restoreCollection(co, childFooter)
if err != nil {
break
}
Expand Down
3 changes: 2 additions & 1 deletion store_compact.go
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,8 @@ func (s *Store) writeSegments(newSS *segmentStack, frefCompact *FileRef,
if newSS.incarNum == 0 {
pos = int64(StorePageSize)
} else {
finfo, err := fileCompact.Stat()
var finfo os.FileInfo
finfo, err = fileCompact.Stat()
if err != nil {
return nil, err
}
Expand Down
4 changes: 2 additions & 2 deletions store_footer.go
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ func ScanFooter(options *StoreOptions, fref *FileRef, fileName string,
b := bytes.NewBuffer(data[content:])

var offset int64
if err := binary.Read(b, StoreEndian, &offset); err != nil {
if err = binary.Read(b, StoreEndian, &offset); err != nil {
return nil, err
}
if offset != pos {
Expand All @@ -180,7 +180,7 @@ func ScanFooter(options *StoreOptions, fref *FileRef, fileName string,
}

var length1 uint32
if err := binary.Read(b, StoreEndian, &length1); err != nil {
if err = binary.Read(b, StoreEndian, &length1); err != nil {
return nil, err
}
if length1 != length {
Expand Down
Loading

0 comments on commit 0dfcd9c

Please sign in to comment.