Dechang Gu created DRILL-4785: --------------------------------- Summary: Limit 0 queries regressed in Drill 1.7.0 Key: DRILL-4785 URL: https://issues.apache.org/jira/browse/DRILL-4785 Project: Apache Drill Issue Type: Bug Components: Functions - Drill Affects Versions: 1.7.0 Environment: Redhat EL6 Reporter: Dechang Gu Assignee: Venki Korukanti Fix For: 1.8.0
We noticed a bunch of limit 0 queries regressed quite a bit: +2500ms, while the same queries took ~400ms in Apache Drill 1.6.0. 5-6X regression. Further investigation indicates that most likely the root cause of the regression is in the commit: vkorukanti committed with vkorukanti DRILL-4446: Support mandatory work assignment to endpoint requirement… commit id: 10afc708600ea9f4cb0e7c2cd981b5b1001fea0d With drill build on this commit, query takes 3095ms and in the drillbit.log: 2016-07-15 17:27:55,048 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:foreman] INFO o.a.drill.exec.work.foreman.Foreman - Query text for query id 28768074-4ed6-a70a-2e6a-add3201ab801: SELECT * FROM (SELECT CAST(EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) AS `mn_business_date_ok`,AVG((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN `rfm_sales`.`pos_netsales` ELSE NULL END)) AS `avg_Calculation_CIDBACJBCCCBHDGB_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN `rfm_sales`.`pos_netsales` ELSE NULL END)) AS `sum_Calculation_CIDBACJBCCCBHDGB_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN 1 ELSE NULL END)) AS `sum_Calculation_CJEBBAEBBFADBDFJ_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN (`rfm_sales`.`pos_comps` + `rfm_sales`.`pos_promos`) ELSE NULL END)) AS `sum_Net_Sales__YTD___copy__ok` FROM `dfs.xxx`.`views/rfm_sales` `rfm_sales` GROUP BY CAST(EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER)) T LIMIT 0 2016-07-15 17:27:55,664 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 208 ms to read metadata from cache file 2016-07-15 17:27:56,783 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:foreman] INFO o.a.d.exec.store.parquet.Metadata - Took 129 ms to read metadata from cache file 2016-07-15 17:27:57,960 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 28768074-4ed6-a70a-2e6a-add3201ab801:0:0: State change requested AWAITING_ALLOCATION --> RUNNING 2016-07-15 17:27:57,961 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 28768074-4ed6-a70a-2e6a-add3201ab801:0:0: State to report: RUNNING 2016-07-15 17:27:57,989 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 28768074-4ed6-a70a-2e6a-add3201ab801:0:0: State change requested RUNNING --> FINISHED 2016-07-15 17:27:57,989 ucs-node2.perf.lab [28768074-4ed6-a70a-2e6a-add3201ab801:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 28768074-4ed6-a70a-2e6a-add3201ab801:0:0: State to report: FINISHED while running the same query on the parent commit (commit id 9f4fff800d128878094ae70b454201f79976135d), it only takes 492ms. and in the drillbit.log: 2016-07-15 17:19:27,309 ucs-node7.perf.lab [2876826f-ee19-9466-0c0c-869f47c409f8:foreman] INFO o.a.drill.exec.work.foreman.Foreman - Query text for query id 2876826f-ee19-9466-0c0c-869f47c409f8: SELECT * FROM (SELECT CAST(EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) AS `mn_business_date_ok`,AVG((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN `rfm_sales`.`pos_netsales` ELSE NULL END)) AS `avg_Calculation_CIDBACJBCCCBHDGB_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN `rfm_sales`.`pos_netsales` ELSE NULL END)) AS `sum_Calculation_CIDBACJBCCCBHDGB_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN 1 ELSE NULL END)) AS `sum_Calculation_CJEBBAEBBFADBDFJ_ok`,SUM((CASE WHEN ((CAST(EXTRACT(YEAR FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER) = 2014) AND (CAST((EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) - 1) / 3 + 1 AS INTEGER) <= 4)) THEN (`rfm_sales`.`pos_comps` + `rfm_sales`.`pos_promos`) ELSE NULL END)) AS `sum_Net_Sales__YTD___copy__ok` FROM `dfs.xxx`.`views/rfm_sales` `rfm_sales` GROUP BY CAST(EXTRACT(MONTH FROM CAST(`rfm_sales`.`business_date` AS DATE)) AS INTEGER)) T LIMIT 0 2016-07-15 17:19:27,619 ucs-node7.perf.lab [2876826f-ee19-9466-0c0c-869f47c409f8:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 2876826f-ee19-9466-0c0c-869f47c409f8:0:0: State change requested AWAITING_ALLOCATION --> RUNNING 2016-07-15 17:19:27,619 ucs-node7.perf.lab [2876826f-ee19-9466-0c0c-869f47c409f8:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 2876826f-ee19-9466-0c0c-869f47c409f8:0:0: State to report: RUNNING 2016-07-15 17:19:27,643 ucs-node7.perf.lab [2876826f-ee19-9466-0c0c-869f47c409f8:frag:0:0] INFO o.a.d.e.w.fragment.FragmentExecutor - 2876826f-ee19-9466-0c0c-869f47c409f8:0:0: State change requested RUNNING --> FINISHED 2016-07-15 17:19:27,644 ucs-node7.perf.lab [2876826f-ee19-9466-0c0c-869f47c409f8:frag:0:0] INFO o.a.d.e.w.f.FragmentStatusReporter - 2876826f-ee19-9466-0c0c-869f47c409f8:0:0: State to report: FINISHED -- This message was sent by Atlassian JIRA (v6.3.4#6332)