Hello!
Keep in mind https://issues.couchbase.com/browse/MB-16957
UPDATE: “Cannot Reproduce” for MB-16957 should be revised now, i think
@jliang , @prataprc for your attention
- Cluster 4.1.0-EE (4CPU, 4Gb) x 3
- Initialize a cluster,
- Create default bucket (1024M, no password, value ejection, 1 replica, view index replicas, high priority, flush enable)
- Edit attached script (inside .zip) with host, password and bucket name and run it (sorry, this is not python, it’s bash, but at least it’s not a https://en.wikipedia.org/wiki/BrainFuck, so, i think, any python-user can handle with it ;).
Or write your own:
- Create 3 indexes (identical: “create index i[1…3] on default(a,b) where a is valued”)
- Insert 1 doc
- Flush
- Insert 3 docs
- Flush again
- Make a NB-select
- Make a RP-select and enjoy 2-min hang
I also attached logs for 3 of my runs (inside .zip); one listed below (end of this post)
Problem shown : “Select with request_plus” hangs up to 2 minutes (time to remember about MB-16957)
UPDATE 2: “select” with “not_bounded” is not affected
And, if there is a bug (or MB-16957 going to be revised deeper), please, consider about including 4.1.X branch to “Fix version(s)”
UPDATE 3: use “open in new tab” to download: https://www.couchbase.com/forums/uploads/short-url/oCJpycpKypsjBAq04bb1IE95YTB.zip
One on my runs:
- Dropping indexes
{
“requestID”: “a5626155-282b-45d2-80c5-45e159d62f60”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “271.619938ms”,
“executionTime”: “271.542842ms”,
“resultCount”: 0,
“resultSize”: 0
}
}
{
“requestID”: “9ecd08d5-456a-4483-8aca-a45bd4b6e6b9”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “268.067829ms”,
“executionTime”: “268.000893ms”,
“resultCount”: 0,
“resultSize”: 0
}
}
{
“requestID”: “dac2aa7f-980e-4d58-8015-ce4f05288400”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “302.418355ms”,
“executionTime”: “302.352748ms”,
“resultCount”: 0,
“resultSize”: 0
}
}- Creating indexes
{
“requestID”: “fb58ea5a-6ac2-4d5c-8bde-0c625dd46cd2”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.646142048s”,
“executionTime”: “2.646032522s”,
“resultCount”: 0,
“resultSize”: 0
}
}
{
“requestID”: “51ff9cb4-c87e-47a2-8983-86bd2b95e91f”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.637722272s”,
“executionTime”: “2.637654906s”,
“resultCount”: 0,
“resultSize”: 0
}
}
{
“requestID”: “21442ac9-2d06-4f81-a4e0-d033c68986b4”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.709900182s”,
“executionTime”: “2.709830446s”,
“resultCount”: 0,
“resultSize”: 0
}
}- Flushing-1 (this may take a while)
- Creating 1 doc
{
“requestID”: “f4ef731d-169c-43e8-88d9-47a39e56d56f”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.915995ms”,
“executionTime”: “2.827083ms”,
“resultCount”: 0,
“resultSize”: 0,
“mutationCount”: 1
}
}- Flushing-2 (this may take a while)
- Now there should be no docs in default
{
“requestID”: “31f8fda1-ce47-478e-95b4-7d48ff524aa9”,
“signature”: {
“a”: “json”,
“b”: “json”,
“id”: “json”
},
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “6.101749ms”,
“executionTime”: “5.952055ms”,
“resultCount”: 0,
“resultSize”: 0
}
}- Creating 3 docs
{
“requestID”: “d6253c87-3066-4c65-a00b-8bd689b229ed”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.531974ms”,
“executionTime”: “2.46499ms”,
“resultCount”: 0,
“resultSize”: 0,
“mutationCount”: 1
}
}
{
“requestID”: “8794db63-fc83-4e39-aa12-d61dcf3fb102”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “1.653396ms”,
“executionTime”: “1.590182ms”,
“resultCount”: 0,
“resultSize”: 0,
“mutationCount”: 1
}
}
{
“requestID”: “10878a28-b233-4f29-be97-22c30a468ea6”,
“signature”: null,
“results”: [
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2.246653ms”,
“executionTime”: “2.20457ms”,
“resultCount”: 0,
“resultSize”: 0,
“mutationCount”: 1
}
}- NB-query result:
{
“requestID”: “eaf8c782-f424-4417-aefd-6a353d826f05”,
“signature”: {
“$1”: “number”
},
“results”: [
{
“$1”: 0
}
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “10.267603ms”,
“executionTime”: “10.206712ms”,
“resultCount”: 1,
“resultSize”: 31
}
}- RP-query result:
{
“requestID”: “8d99ba60-61e1-4d09-9519-2d64858b771c”,
“signature”: {
“$1”: “number”
},
“results”: [
{
“$1”: 3
}
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “2m0.290964014s”,
“executionTime”: “2m0.290880718s”,
“resultCount”: 1,
“resultSize”: 31
}
}- Now there should be 3 docs in default
{
“requestID”: “482809b2-404b-415c-b3a0-04b5ff6bd1d6”,
“signature”: {
“a”: “json”,
“b”: “json”,
“id”: “json”
},
“results”: [
{
“a”: “Hello”,
“b”: “World!”,
“id”: “docA”
},
{
“a”: “Hello”,
“b”: “World!”,
“id”: “docB”
},
{
“a”: “Hello”,
“b”: “World!”,
“id”: “docC”
}
],
“status”: “success”,
“metrics”: {
“elapsedTime”: “7.382695ms”,
“executionTime”: “7.277643ms”,
“resultCount”: 3,
“resultSize”: 267
}
}