From 780f8c5939fc20d8433c7cf2ea1f7fb2bfc1e003 Mon Sep 17 00:00:00 2001 From: Pawan Rawal Date: Mon, 15 May 2017 12:12:33 +1000 Subject: [PATCH] Code simplification based on gometalinter --- badger/kv.go | 59 +++++++++++++++++++++++------------------------- badger/value.go | 2 +- table/builder.go | 2 -- table/table.go | 8 +++---- 4 files changed, 32 insertions(+), 39 deletions(-) diff --git a/badger/kv.go b/badger/kv.go index c41f6c626..811b8444e 100644 --- a/badger/kv.go +++ b/badger/kv.go @@ -547,40 +547,37 @@ type flushTask struct { func (s *KV) flushMemtable(lc *y.LevelCloser) { defer lc.Done() - for { - select { - case ft := <-s.flushChan: - if ft.mt == nil { - return - } + for ft := range s.flushChan { + if ft.mt == nil { + return + } - if ft.vptr.Fid > 0 || ft.vptr.Offset > 0 { - if s.opt.Verbose { - fmt.Printf("Storing offset: %+v\n", ft.vptr) - } - offset := make([]byte, 16) - s.Lock() // For vptr. - s.vptr.Encode(offset) - s.Unlock() - ft.mt.Put(head, y.ValueStruct{Value: offset}) // casCounter not needed. + if ft.vptr.Fid > 0 || ft.vptr.Offset > 0 { + if s.opt.Verbose { + fmt.Printf("Storing offset: %+v\n", ft.vptr) } - fileID, _ := s.lc.reserveFileIDs(1) - fd, err := y.OpenSyncedFile(table.NewFilename(fileID, s.opt.Dir), true) - y.Check(err) - y.Check(writeLevel0Table(ft.mt, fd)) - - tbl, err := table.OpenTable(fd, s.opt.MapTablesTo) - defer tbl.DecrRef() - - y.Check(err) - s.lc.addLevel0Table(tbl) // This will incrRef again. - - // Update s.imm. Need a lock. - s.Lock() - y.AssertTrue(ft.mt == s.imm[0]) //For now, single threaded. - s.imm = s.imm[1:] - ft.mt.DecrRef() // Return memory. + offset := make([]byte, 16) + s.Lock() // For vptr. + s.vptr.Encode(offset) s.Unlock() + ft.mt.Put(head, y.ValueStruct{Value: offset}) // casCounter not needed. } + fileID, _ := s.lc.reserveFileIDs(1) + fd, err := y.OpenSyncedFile(table.NewFilename(fileID, s.opt.Dir), true) + y.Check(err) + y.Check(writeLevel0Table(ft.mt, fd)) + + tbl, err := table.OpenTable(fd, s.opt.MapTablesTo) + defer tbl.DecrRef() + + y.Check(err) + s.lc.addLevel0Table(tbl) // This will incrRef again. + + // Update s.imm. Need a lock. + s.Lock() + y.AssertTrue(ft.mt == s.imm[0]) //For now, single threaded. + s.imm = s.imm[1:] + ft.mt.DecrRef() // Return memory. + s.Unlock() } } diff --git a/badger/value.go b/badger/value.go index da215aee2..8378aaf8f 100644 --- a/badger/value.go +++ b/badger/value.go @@ -457,7 +457,7 @@ func (l *valueLog) openOrCreateFiles() { } sort.Slice(l.files, func(i, j int) bool { - return l.files[i].fid < l.files[i].fid + return l.files[i].fid < l.files[j].fid }) // Open all previous log files as read only. Open the last log file diff --git a/table/builder.go b/table/builder.go index d3e9bdf6e..c3c27fae1 100644 --- a/table/builder.go +++ b/table/builder.go @@ -222,8 +222,6 @@ func (b *TableBuilder) blockIndex() []byte { return out } -var emptySlice = make([]byte, 100) - // Finish finishes the table by appending the index. func (b *TableBuilder) Finish(metadata []byte) []byte { bf := bbloom.New(float64(b.keyCount), 0.01) diff --git a/table/table.go b/table/table.go index 8858620e0..a8c49fa00 100644 --- a/table/table.go +++ b/table/table.go @@ -267,7 +267,7 @@ func (t *Table) readIndex() error { }(bo) } - for _ = range t.blockIndex { + for range t.blockIndex { err := <-che if err != nil { return err @@ -291,10 +291,8 @@ func (t *Table) block(idx int) (Block, error) { offset: ko.offset, } var err error - if block.data, err = t.read(block.offset, ko.len); err != nil { - return block, err - } - return block, nil + block.data, err = t.read(block.offset, ko.len) + return block, err } func (t *Table) Size() int64 { return int64(t.tableSize) }