[ https://issues.apache.org/jira/browse/HIVE-25792?focusedWorklogId=695671&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-695671 ]
ASF GitHub Bot logged work on HIVE-25792: ----------------------------------------- Author: ASF GitHub Bot Created on: 14/Dec/21 12:04 Start Date: 14/Dec/21 12:04 Worklog Time Spent: 10m Work Description: pvary commented on a change in pull request #2865: URL: https://github.com/apache/hive/pull/2865#discussion_r768597811 ########## File path: ql/src/java/org/apache/hadoop/hive/ql/reexec/ReExecDriver.java ########## @@ -190,52 +229,21 @@ public CommandProcessorResponse run() throws CommandProcessorException { } PlanMapper newPlanMapper = coreDriver.getPlanMapper(); - if (!explainReOptimization && !shouldReExecuteAfterCompile(oldPlanMapper, newPlanMapper)) { + if (!explainReOptimization && + !plugins.stream().anyMatch(p -> p.shouldReExecute(executionIndex, oldPlanMapper, newPlanMapper))) { LOG.info("re-running the query would probably not yield better results; returning with last error"); // FIXME: retain old error; or create a new one? return cpr; } } } - private void afterExecute(PlanMapper planMapper, boolean success) { - for (IReExecutionPlugin p : plugins) { - p.afterExecute(planMapper, success); - } - } - - private boolean shouldReExecuteAfterCompile(PlanMapper oldPlanMapper, PlanMapper newPlanMapper) { - boolean ret = false; - for (IReExecutionPlugin p : plugins) { - boolean shouldReExecute = p.shouldReExecute(executionIndex, oldPlanMapper, newPlanMapper); - LOG.debug("{}.shouldReExecuteAfterCompile = {}", p, shouldReExecute); Review comment: TBH, I am unsure here. We can keep: - `shouldReExecuteAfterCompile` - `shouldReExecute` - `shouldReCompile` Or, we can replace with a stream version: ``` plugins.stream() .peek(p -> LOG.debug("{}.shouldReCompile = {}", p)) .anyMatch(p -> p.shouldReCompile(currentIndex)) ``` Or we can omit the logs, and use only: ``` plugins.stream().anyMatch(p -> p.shouldReCompile(currentIndex)) ``` Your thoughts? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 695671) Time Spent: 2.5h (was: 2h 20m) > Multi Insert query fails on CBO path > ------------------------------------- > > Key: HIVE-25792 > URL: https://issues.apache.org/jira/browse/HIVE-25792 > Project: Hive > Issue Type: Bug > Reporter: Zoltan Haindrich > Assignee: Peter Vary > Priority: Major > Labels: pull-request-available > Time Spent: 2.5h > Remaining Estimate: 0h > > {code} > set hive.cbo.enable=true; > drop table if exists aa1; > drop table if exists bb1; > drop table if exists cc1; > drop table if exists dd1; > drop table if exists ee1; > drop table if exists ff1; > create table aa1 ( stf_id string); > create table bb1 ( stf_id string); > create table cc1 ( stf_id string); > create table ff1 ( x string); > explain > from ff1 as a join cc1 as b > insert overwrite table aa1 select stf_id GROUP BY b.stf_id > insert overwrite table bb1 select b.stf_id GROUP BY b.stf_id > ; > {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)