Skip to content

Commit

Permalink
volume: large_volume version has bug when using in memory index
Browse files Browse the repository at this point in the history
  • Loading branch information
chrislusf committed Jun 28, 2021
1 parent a2979aa commit fc8dd58
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
Binary file added test/data/187.idx
Binary file not shown.
1 change: 1 addition & 0 deletions weed/storage/needle_map/compact_map.go
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ func (cs *CompactSection) setOverflowEntry(skey SectionalNeedleId, offset Offset
cs.overflowExtra[i] = cs.overflowExtra[i-1]
}
cs.overflow[insertCandidate] = needleValue
cs.overflowExtra[insertCandidate] = needleValueExtra
}
}

Expand Down
33 changes: 33 additions & 0 deletions weed/storage/needle_map/compact_map_cases_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
// +build 5BytesOffset

package needle_map

import (
"fmt"
"github.com/chrislusf/seaweedfs/weed/storage/types"
"github.com/stretchr/testify/assert"
"log"
"os"
"testing"
)

func Test5bytesIndexLoading(t *testing.T) {

indexFile, ie := os.OpenFile("../../../test/data/187.idx", os.O_RDWR|os.O_RDONLY, 0644)
if ie != nil {
log.Fatalln(ie)
}
defer indexFile.Close()
m, rowCount := loadNewNeedleMap(indexFile)

println("total entries:", rowCount)

key := types.NeedleId(0x671b905)

needle, found := m.Get(types.NeedleId(0x671b905))

fmt.Printf("%v key:%v offset:%v size:%v\n", found, key, needle.Offset, needle.Size)

assert.Equal(t, int64(12884911892)*8, needle.Offset.ToActualOffset(), "offset")

}

0 comments on commit fc8dd58

Please sign in to comment.