Details
-
Bug
-
Resolution: Fixed
-
Blocker
-
4.0.0
-
Security Level: Public
-
None
-
Untriaged
-
Centos 64-bit
-
Unknown
Description
The first step was to create the primary index that enables N1QL queries by running cbq direclty on uecb03 as such:
/opt/couchbase/bin/cbq --engine http://Administrator:pwdxxxxx@localhost:8093
|
|
CREATE PRIMARY INDEX `idx_entityName` ON `underworld_copy_beta` USING GSI ;
|
It took about 20 minutes to create.
After this, a select * from underworld_copy_beta where entity_name=’system_announcements’ would hang for two and a half minutes and then abort with error
"errors": [
|
|
{
|
|
"code": 5000,
|
|
"msg": "GSI scan error - cause: EOF"
|
|
}
|
|
],
|
|
Time to create the secondary index that specifically looks for entity_name:
CREATE INDEX `idx_entityName_only` ON `underworld_copy_beta`(entity_name) USING GSI ;
|
After this, the select on all items with entity_name ‘system_messages’ worked.
There is however still an issue when trying to do this like
select distinct entity_name from underworld_copy_beta ;
|
or
SELECT entity_name,count(*) FROM underworld_copy_beta GROUP BY entity_name;
|
It starts producing output but also gets aborted after 2:30min:
cbq> select entity_name,count(*) from underworld_copy_beta group by entity_name;
|
|
{
|
|
"requestID": "23bbf52c-3842-4feb-a607-61acc0de3230",
|
|
"signature": {
|
|
"$1": "number",
|
|
"entity_name": "json"
|
|
},
|
|
"results": [
|
|
{
|
|
"$1": 1.6850069e+07
|
|
},
|
|
{
|
|
"$1": 382722,
|
|
"entity_name": "free_items_p"
|
|
},
|
|
{
|
|
"$1": 157026,
|
|
"entity_name": "evtrwdt_"
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 5000,
|
|
"msg": "GSI scan error - cause: EOF"
|
|
}
|
|
],
|
|
"status": "errors",
|
|
"metrics": {
|
|
"elapsedTime": "2m12.382051265s",
|
|
"executionTime": "2m12.381778079s",
|
|
"resultCount": 3,
|
|
"resultSize": 197,
|
|
"errorCount": 1
|
|
}
|
|
}
|
|
cbq> select entity_name,count(*) from underworld_copy_beta group by entity_name;
|
|
{
|
|
"requestID": "23bbf52c-3842-4feb-a607-61acc0de3230",
|
|
"signature": {
|
|
"$1": "number",
|
|
"entity_name": "json"
|
|
},
|
|
"results": [
|
|
{
|
|
"$1": 1.6850069e+07
|
|
},
|
|
{
|
|
"$1": 382722,
|
|
"entity_name": "free_items_p"
|
|
},
|
|
{
|
|
"$1": 157026,
|
|
"entity_name": "evtrwdt_"
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 5000,
|
|
"msg": "GSI scan error - cause: EOF"
|
|
}
|
|
],
|
|
"status": "errors",
|
|
"metrics": {
|
|
"elapsedTime": "2m12.382051265s",
|
|
"executionTime": "2m12.381778079s",
|
|
"resultCount": 3,
|
|
"resultSize": 197,
|
|
"errorCount": 1
|
|
}
|
|
}
|
|
is there a way to tell it to not time out after 2-3 minutes?
Here it gave me partial results and then scan failure:
|
cbq> select entity_name,count(*) from underworld_copy_beta group by entity_name;
|
|
{
|
|
"requestID": "ce6e0c6d-6103-4f90-aeae-6c6287ae1a5a",
|
|
"signature": {
|
|
"$1": "number",
|
|
"entity_name": "json"
|
|
},
|
|
"results": [
|
|
{
|
|
"$1": 889907,
|
|
"entity_name": "player_accepted_challenges"
|
|
},
|
|
{
|
|
"$1": 157026,
|
|
"entity_name": "evtrwdt_"
|
|
},
|
|
{
|
|
"$1": 382722,
|
|
"entity_name": "free_items_p"
|
|
},
|
|
{
|
|
"$1": 4,
|
|
"entity_name": "monthly_pass_system"
|
|
},
|
|
{
|
|
"$1": 1.8458676e+07
|
|
}
|
|
],
|
|
"errors": [
|
|
{
|
|
"code": 5000,
|
|
"msg": "GSI scan error - cause: Index scan timed out"
|
|
}
|
|
],
|
|
"status": "errors",
|
|
"metrics": {
|
|
"elapsedTime": "2m34.378118992s",
|
|
"executionTime": "2m34.377936981s",
|
|
"resultCount": 5,
|
|
"resultSize": 371,
|
|
"errorCount": 1
|
|
}
|
|
}
|
|