cockroachdb / pebble

RocksDB/LevelDB inspired key-value database in Go

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

metamorphic: TestMeta failed [could not generate unique key]

cockroach-teamcity opened this issue · comments

github.com/cockroachdb/pebble/internal/metamorphic.TestMeta failed with artifacts on refs/heads/master @ 5a2d7792b0cf:

iter7.Next("qziovqcdah")
iter5.SeekLT("nnuvrwmu@20", "")
iter4.Last()
db1.Set("zfem@6", "djlvigsscy")
iter2.SeekPrefixGE("xjammurepm@11")
db1.RatchetFormatMajorVersion(013)
iter5.Prev("")
iter3.SeekLT("qkrncoailp@22", "")
iter6.SeekGE("rjkvc@17", "")
iter5.SeekGE("qkrncoailp@23", "")
db1.Set("tqjzsdrdnaqz@5", "")
iter7.SetBounds("xjammurepm@3", "xjammurepm@3")
iter5.Prev("")
iter4.Prev("")
iter3.First()
iter5.SeekLT("tqjzsdrdnaqz@5", "")
db1.Set("qwadvgbqocs@5", "fusatlvwhuyqro")
db1.IngestExternalFiles(external0, "tqjzsdrdnaqz@17", "tqjzsdrdnaqz@10", "", external0, "tqjzsdrdnaqz@10", "tqjzsdrdnaqz@3", "")

panic: could not generate unique key [recovered]
	panic: could not generate unique key [recovered]
	panic: could not generate unique key

goroutine 8 [running]:
testing.tRunner.func1.2({0xc8f220, 0xeba6e0})
	GOROOT/src/testing/testing.go:1545 +0x238
testing.tRunner.func1()
	GOROOT/src/testing/testing.go:1548 +0x397
panic({0xc8f220?, 0xeba6e0?})
	GOROOT/src/runtime/panic.go:914 +0x21f
github.com/cockroachdb/pebble/metamorphic.generate.func1()
	github.com/cockroachdb/pebble/metamorphic/external/com_github_cockroachdb_pebble/metamorphic/generator.go:208 +0xa5
panic({0xc8f220?, 0xeba6e0?})
	GOROOT/src/runtime/panic.go:914 +0x21f
github.com/cockroachdb/pebble/metamorphic.(*keyGenerator).UniqueKeys(0xc0002361a0, 0x2, 0xc0001d90c0)
	github.com/cockroachdb/pebble/metamorphic/external/com_github_cockroachdb_pebble/metamorphic/key_generator.go:73 +0x245
github.com/cockroachdb/pebble/metamorphic.(*generator).writerIngestExternalFiles(0xc0000f38c0)
	github.com/cockroachdb/pebble/metamorphic/external/com_github_cockroachdb_pebble/metamorphic/generator.go:1333 +0x9a5
github.com/cockroachdb/pebble/metamorphic.generate(_, _, {{0x5, 0x5, 0x1, 0x0, 0x1, 0x2, 0x1, 0x2, ...}, ...}, ...)
	github.com/cockroachdb/pebble/metamorphic/external/com_github_cockroachdb_pebble/metamorphic/generator.go:212 +0xd5e
github.com/cockroachdb/pebble/metamorphic.RunAndCompare(0xc000236000, {0x7ffd9b10b93b, 0xf}, {0xc0001dfb30, 0x3, 0x3})
	github.com/cockroachdb/pebble/metamorphic/external/com_github_cockroachdb_pebble/metamorphic/meta.go:199 +0x730
github.com/cockroachdb/pebble/internal/metamorphic.runTestMeta(0xc000078760?, 0x0)
	github.com/cockroachdb/pebble/internal/metamorphic/external/com_github_cockroachdb_pebble/internal/metamorphic/meta_test.go:94 +0x239
github.com/cockroachdb/pebble/internal/metamorphic.TestMeta(0x0?)
	github.com/cockroachdb/pebble/internal/metamorphic/external/com_github_cockroachdb_pebble/internal/metamorphic/meta_test.go:54 +0x15
testing.tRunner(0xc000236000, 0xdf9078)
	GOROOT/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1
	GOROOT/src/testing/testing.go:1648 +0x3ad
Help

This test on roachdash | Improve this report!

Reproduces with TestParserRandom too:

--- FAIL: TestParserRandom (0.15s)
    --- FAIL: TestParserRandom/config=default (0.15s)
panic: could not generate unique key [recovered]
	panic: could not generate unique key [recovered]
	panic: could not generate unique key

goroutine 1970 [running]:
testing.tRunner.func1.2({0xbb0740, 0xdd1980})
	/opt/hostedtoolcache/go/1.21.7/x64/src/testing/testing.go:1545 +0x238
testing.tRunner.func1()
	/opt/hostedtoolcache/go/1.21.7/x64/src/testing/testing.go:1548 +0x397
panic({0xbb0740?, 0xdd1980?})
	/opt/hostedtoolcache/go/1.21.7/x64/src/runtime/panic.go:914 +0x21f
github.com/cockroachdb/pebble/metamorphic.generate.func1()
	/home/runner/work/pebble/pebble/metamorphic/generator.go:208 +0xa5
panic({0xbb0740?, 0xdd1980?})
	/opt/hostedtoolcache/go/1.21.7/x64/src/runtime/panic.go:914 +0x21f
github.com/cockroachdb/pebble/metamorphic.(*keyGenerator).UniqueKeys(0xc000a13040, 0x2, 0xc000137290)
	/home/runner/work/pebble/pebble/metamorphic/key_generator.go:73 +0x245
github.com/cockroachdb/pebble/metamorphic.(*generator).writerIngestExternalFiles(0xc0000fab00)
	/home/runner/work/pebble/pebble/metamorphic/generator.go:1333 +0x9a5
github.com/cockroachdb/pebble/metamorphic.generate(_, _, {{0x5, 0x5, 0x1, 0x0, 0x1, 0x2, 0x1, 0x2, ...}, ...}, ...)
	/home/runner/work/pebble/pebble/metamorphic/generator.go:212 +0xd5e
github.com/cockroachdb/pebble/metamorphic.TestParserRandom.func1(0xc000a12ea0)
	/home/runner/work/pebble/pebble/metamorphic/parser_test.go:40 +0x308
testing.tRunner(0xc000a12ea0, 0xc0004a38c0)
	/opt/hostedtoolcache/go/1.21.7/x64/src/testing/testing.go:1595 +0xff
created by testing.(*T).Run in goroutine 1969
	/opt/hostedtoolcache/go/1.21.7/x64/src/testing/testing.go:1648 +0x3ad

https://github.com/cockroachdb/pebble/actions/runs/7978180827/job/21782738930

I made a fix for this as part of #3305.

Is it possible there's still an issue? Looks like this failure was from last night on SHA 5a2d779

Yes, I just ran into it again.. Posted #3323 which removes use of UniqueKeys there altogether.