pingcap / go-ycsb

A Go port of Yahoo! Cloud Serving Benchmark (YCSB)
Apache License 2.0
594 stars 243 forks source link

index out of range [-2] errors on Zipfian generator #288

Open filipecosta90 opened 1 year ago

filipecosta90 commented 1 year ago

I'm seeing deterministic errors around the Zipfian generation when I need to generate hundreds of millions of random numbers. Here's a sample:

panic: runtime error: index out of range [-2]
goroutine 1387 [running]:
math/rand.(*rngSource).Uint64(...)
    /usr/local/go/src/math/rand/rng.go:249
math/rand.(*rngSource).Int63(0xc0000d45a0?)
    /usr/local/go/src/math/rand/rng.go:234 +0x92
math/rand.(*Rand).Int63(...)
    /usr/local/go/src/math/rand/rand.go:96
math/rand.(*Rand).Float64(...)
    /usr/local/go/src/math/rand/rand.go:207
github.com/pingcap/go-ycsb/pkg/generator.(*Zipfian).next(0xc49960f560, 0xc0000e1830, 0x1)
    /go/pkg/mod/github.com/pingcap/go-ycsb@v1.0.1/pkg/generator/zipfian.go:151 +0x4e
github.com/pingcap/go-ycsb/pkg/generator.(*Zipfian).Next(...)
    /go/pkg/mod/github.com/pingcap/go-ycsb@v1.0.1/pkg/generator/zipfian.go:169

In the next couple of days I'll isolate this and reply back but wanted to have this placeholder to keep track of this issue.