Details
-
Bug
-
Resolution: Fixed
-
Critical
-
5.0.0, 5.1.0, 5.1.1
-
Untriaged
-
Centos 64-bit
-
-
No
Description
Build 5.5.0-2326.
The projector process uses 2,300% CPU on 4 data nodes while building 10 indexes.
Setup:
- 4 KV nodes, 1 index node
- 1 bucket
- 100M items
- Plasma
Sample document:
{
|
"sold_date": "2000-09-25",
|
"item": {
|
"id": "AAAAAAAAKGJJBAAA",
|
"category": "Men",
|
"brand": "importoimporto #1",
|
"manufacturer_id": 15
|
},
|
"wholesale_cost": 63.63,
|
"list_price": 101.17,
|
"quantity": 37,
|
"customer": {
|
"zip": "71083",
|
"purchase_estimate": 6000,
|
"name": " ",
|
"credit_rating": "High Risk",
|
"gender": "M",
|
"birth_country": "",
|
"dep_count": 0,
|
"education_status": "College",
|
"dep_college_count": 0,
|
"id": "AAAAAAAAOJOMBBAA",
|
"dep_employed_count": 0,
|
"preferred_flag": false,
|
"state": "TX",
|
"marital_status": "S",
|
"county": "Armstrong County"
|
},
|
"coupon_amt": 46.03,
|
"store": "able",
|
"sales_price": 41.47
|
}
|
Indexes:
CREATE INDEX ag1 ON `bucket-1`(DATE_PART_STR(sold_date, 'year'), customer.state, store, quantity) WITH {"defer_build": true};
|
CREATE INDEX ag2 ON `bucket-1`(DATE_PART_STR(sold_date, 'year'), DATE_PART_STR(sold_date, 'week'), WEEKDAY_STR(sold_date), sales_price) WITH {"defer_build": true};
|
CREATE INDEX ag3 ON `bucket-1`(item.manufacturer_id, DATE_PART_STR(sold_date, 'month'), DATE_PART_STR(sold_date, 'year'), item.brand, sales_price) WITH {"defer_build": true};
|
CREATE INDEX ag4 ON `bucket-1`(DATE_PART_STR(sold_date, 'year'), customer.preferred_flag, customer.birth_country, wholesale_cost, sales_price) WITH {"defer_build": true};
|
CREATE INDEX ag5 ON `bucket-1`(DATE_PART_STR(sold_date, 'year'), DATE_PART_STR(sold_date, 'month'), sales_price, customer.state) WITH {"defer_build": true};
|
CREATE INDEX ag6 ON `bucket-1`(customer.gender, customer.marital_status, customer.education_status, item.id, quantity, list_price, coupon_amt, sales_price) WITH {"defer_build": true};
|
CREATE INDEX ag7 ON `bucket-1`(customer.zip, customer.preferred_flag) WITH {"defer_build": true};
|
CREATE INDEX ag8 ON `bucket-1`(customer.county, DATE_PART_STR(sold_date, 'year'), DATE_PART_STR(sold_date, 'month'), customer.gender, customer.marital_status, customer.education_status, customer.purchase_estimate, customer.credit_rating, customer.dep_count, customer.dep_employed_count, customer.dep_college_count) WITH {"defer_build": true};
|
CREATE INDEX ag9 ON `bucket-1`(item.category, DATE_PART_STR(sold_date, 'day_of_year'), sales_price) WITH {"defer_build": true};
|
CREATE INDEX ag10 ON `bucket-1`(customer.zip, DATE_PART_STR(sold_date, 'year'), DATE_PART_STR(sold_date, 'quarter'), sales_price) WITH {"defer_build": true};
|
BUILD INDEX ON `bucket-1`(ag1, ag2, ag3, ag4, ag5, ag6, ag7, ag8, ag9, ag10);
|
Several tickets (e.g., MB-23910) indicate that projector should consume less CPU in Vulcan. Although Vulcan results look 30% better, the projector still requires a lot of CPU resources.