steveyen / gkvlite

Simple, ordered, key-value persistence library for the Go Language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

flaky on Go1.5?

sjamesr opened this issue · comments

Hi there,

Our continuous build started failing occasionally with the following error:

store_test.go:1111: expected concurrent set to work on key: [65], got: concurrent mutation attempted
store_test.go:1111: expected concurrent set to work on key: [50], got: concurrent mutation attempted

So far I haven't been able to reproduce on a desktop machine, but perhaps there's a race that is being exposed by changes in Go1.5?

Hi @sjamesr,

You were able to get to go 1.5 before I did! :-)

One change that I read about in go 1.5 is it sets GOMAXPROCS to sometimes not 1, if you're on a multicore box, so that feels likely that might have broken some test assumptions.

Perhaps your CI system is beefier and more multi-core than your desktop box? If this is true, then one quick workaround, then, would be setting GOMAXPROCS=1 in your CI scripts and seeing if that band aids it for now?

Thanks for the report,
steve