Details
-
Bug
-
Resolution: Fixed
-
Test Blocker
-
Cheshire-Cat
Description
Build : 7.0.0-4843
Last known good build : 7.0.0-4840
Steps to reproduce :
1. 1-node cluster with kv & search service
2. Install the beer-sample bucket
3. Get a non-existent index details from FTS
[root@s44010 logs]# curl -u Administrator:password http://localhost:8094/api/index/default_index
|
{"error":"rest_auth: preparePerms, err: index not found","request":"","status":"fail"}
|
4. Delete a non-existent index details from FTS
[root@s44010 logs]# curl -X DELETE -u Administrator:password http://localhost:8094/api/index/default_index
|
{"error":"rest_auth: preparePerms, err: index not found","request":"","status":"fail"}
|
5. Now create a FTS index on beer-sample bucket
FTS crashes.
2021-04-02T08:13:47.761-07:00 [INFO] rest_create_index: create index request received for idx1
|
2021-04-02T08:13:47.764-07:00 [INFO] manager: GetNodeDefs, CfgGetNodeDefs took: 3.33908ms
|
2021-04-02T08:13:47.764-07:00 [INFO] manager: GetNodeDefs, PIndex OnRefresh took: 2.67µs
|
2021-04-02T08:13:47.768-07:00 [INFO] manager: GetNodeDefs, CfgGetNodeDefs took: 3.154909ms
|
2021-04-02T08:13:47.768-07:00 [INFO] manager: GetNodeDefs, PIndex OnRefresh took: 2.327µs
|
2021-04-02T08:13:47.816-07:00 [INFO] cfg_metakv: Set, key: indexDefs, cas: 1, split: false, nodeUUID: f09992b0de040c1cfe5aaefc72a8bad8
|
2021-04-02T08:13:47.816-07:00 [INFO] cfg_metakv: Set path: /fts/cbgt/cfg/indexDefs
|
2021-04-02T08:13:47.821-07:00 [INFO] cfg_metakv: metaKVCallback, path: /fts/cbgt/cfg/indexDefs, key: indexDefs, deletion: false
|
2021-04-02T08:13:47.821-07:00 [INFO] manager_api: index definition created, indexType: fulltext-index, indexName: idx1, indexUUID: cbdf4eec775829c3
|
2021-04-02T08:13:47.830-07:00 [INFO] ctl: cfgEvent, kind: indexDefs
|
panic: runtime error: invalid memory address or nil pointer dereference
|
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0xea9a00]
|
|
goroutine 11 [running]:
|
github.com/couchbase/cbgt/ctl.(*Ctl).cfgDebounceIntervalInMS(0xc00030a8c0, 0xc0002b6bc0)
|
/home/couchbase/jenkins/workspace/couchbase-server-unix/cbgt/ctl/ctl.go:317 +0xf0
|
github.com/couchbase/cbgt/ctl.(*Ctl).debounceCfgEvents(0xc00030a8c0, 0xc00056e4ce, 0x9, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
|
/home/couchbase/jenkins/workspace/couchbase-server-unix/cbgt/ctl/ctl.go:338 +0x5f
|
github.com/couchbase/cbgt/ctl.(*Ctl).run(0xc00030a8c0)
|
/home/couchbase/jenkins/workspace/couchbase-server-unix/cbgt/ctl/ctl.go:485 +0xef9
|
created by github.com/couchbase/cbgt/ctl.StartCtl
|
/home/couchbase/jenkins/workspace/couchbase-server-unix/cbgt/ctl/ctl.go:192 +0x18c
|
2021-04-02T08:13:48.187-07:00 [INFO] main: /opt/couchbase/bin/cbft started (v0.6.0/5.5.0)
|
2021-04-02T08:13:48.187-07:00 [INFO] main: file descriptor limit current: 200000 max: 200000
|
This is a common scenario in the functional tests, where the tests check if the index about to be created already exists, and if exists, drop it. This used to work seamlessly till 7.0.0-4840.