Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
Untriaged
-
0
-
Unknown
Description
If there is a secondary key which is exactly 65524 bytes, then when a page is merged and a remove block is persisted to the LSS, during recovery, the key length field overflows and causes a panic:
panic: runtime error: index out of range [0] with length 0 [recovered]
|
panic: runtime error: index out of range [0] with length 0
|
|
goroutine 25 [running]:
|
panic({0x105358e80, 0x14000000288})
|
/usr/local/go/src/runtime/panic.go:884 +0x1f4
|
github.com/couchbase/plasma.(*Buffer).Ptr(...)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/util.go:177
|
github.com/couchbase/plasma.(*Shard).recoverFromHeaderReplay.func8(0x2106e, {0x106e80072, 0x10004, 0x10f8e}, 0x10000)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:954 +0x15bc
|
github.com/couchbase/plasma.(*lsStore).Visitor2(0x140000fe7c0?, 0x0?, 0x32000, 0x140004d68c0, 0x140000fe7c0)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/lss.go:615 +0xf4
|
github.com/couchbase/plasma.(*lsStore).Visitor(0x14000524d80, 0x27?, 0x14000126768?)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/lss.go:598 +0x6c
|
github.com/couchbase/plasma.(*Shard).recoverFromHeaderReplay(0x140000023c0?, 0x14000002280, 0x140000023c0, 0x14000585810, 0x14000126af8, 0x14000444c50)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:1042 +0x858
|
github.com/couchbase/plasma.(*Shard).doRecovery(0x140003e4f00, 0x140004cf040, 0x14000002280, 0x140000023c0, 0x140004c8300, 0x0, 0x0)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:388 +0x648
|
github.com/couchbase/plasma.(*Shard).recoverFromShard.func2()
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:228 +0x40
|
github.com/couchbase/plasma.(*Shard).recoverFromShard(0x140003e4f00, 0x0?, 0x0?, 0x0?, 0x0?, 0x1?, 0x0?)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:247 +0xe4
|
github.com/couchbase/plasma.doRecovery({0x0?, 0xc8?}, 0x190?, 0x140004c8300, 0x140003e4f00, 0x14000002280, 0x1053e5bf8?, 0x1053e5c48?)
|
/Users/akhilmundroy/projects/couchbase-trinity/goproj/src/github.com/couchbase/plasma/recovery.go:2154 +0x88
|
Attachments
Issue Links
- is a backport of
-
MB-60042 panic on indexer restart when secondary key size is exactly 65524
- Closed