[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17087376#comment-17087376 ] Gopal Vijayaraghavan commented on HIVE-23238: - bq. I believe this kind of decisions could also be taken into account from the AM side Unfortunately, there's no mechanism for this, as of yet - the LLAP AMs don't talk to each other or to any central resource negotiator (i.e 600 tasks could all be Guaranteed in a 1000 node cluster, but have the same node for locality). The collision in locality is emergent behaviour & also sensitive for the order of submission for preemption. > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch, HIVE-23238.02.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or upstream tasks. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086665#comment-17086665 ] Hive QA commented on HIVE-23238: Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/13000373/HIVE-23238.02.patch {color:green}SUCCESS:{color} +1 due to 1 test(s) being added or modified. {color:green}SUCCESS:{color} +1 due to 17142 tests passed Test results: https://builds.apache.org/job/PreCommit-HIVE-Build/21757/testReport Console output: https://builds.apache.org/job/PreCommit-HIVE-Build/21757/console Test logs: http://104.198.109.242/logs/PreCommit-HIVE-Build-21757/ Messages: {noformat} Executing org.apache.hive.ptest.execution.TestCheckPhase Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.YetusPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase {noformat} This message is automatically generated. ATTACHMENT ID: 13000373 - PreCommit-HIVE-Build > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch, HIVE-23238.02.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or upstream tasks. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086649#comment-17086649 ] Hive QA commented on HIVE-23238: | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | || || || || {color:brown} master Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 11m 7s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 27s{color} | {color:green} master passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 16s{color} | {color:green} master passed {color} | | {color:blue}0{color} | {color:blue} findbugs {color} | {color:blue} 0m 49s{color} | {color:blue} llap-server in master has 89 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 17s{color} | {color:green} master passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 25s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 26s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 26s{color} | {color:green} the patch passed {color} | | {color:red}-1{color} | {color:red} checkstyle {color} | {color:red} 0m 16s{color} | {color:red} llap-server: The patch generated 3 new + 79 unchanged - 3 fixed = 82 total (was 82) {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 0m 54s{color} | {color:red} llap-server generated 2 new + 88 unchanged - 1 fixed = 90 total (was 89) {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 17s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} asflicense {color} | {color:red} 0m 16s{color} | {color:red} The patch generated 2 ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 16m 4s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | FindBugs | module:llap-server | | | org.apache.hadoop.hive.llap.daemon.impl.comparator.PreemptionQueueComparator.compare(TaskExecutorService$TaskWrapper, TaskExecutorService$TaskWrapper) incorrectly handles double value At PreemptionQueueComparator.java:value At PreemptionQueueComparator.java:[line 60] | | | org.apache.hadoop.hive.llap.daemon.impl.comparator.PreemptionQueueComparator implements Comparator but not Serializable At PreemptionQueueComparator.java:Serializable At PreemptionQueueComparator.java:[lines 30-68] | \\ \\ || Subsystem || Report/Notes || | Optional Tests | asflicense javac javadoc findbugs checkstyle compile | | uname | Linux hiveptest-server-upstream 3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u5 (2017-09-19) x86_64 GNU/Linux | | Build tool | maven | | Personality | /data/hiveptest/working/yetus_PreCommit-HIVE-Build-21757/dev-support/hive-personality.sh | | git revision | master / c3fb689 | | Default Java | 1.8.0_111 | | findbugs | v3.0.1 | | checkstyle | http://104.198.109.242/logs//PreCommit-HIVE-Build-21757/yetus/diff-checkstyle-llap-server.txt | | findbugs | http://104.198.109.242/logs//PreCommit-HIVE-Build-21757/yetus/new-findbugs-llap-server.html | | asflicense | http://104.198.109.242/logs//PreCommit-HIVE-Build-21757/yetus/patch-asflicense-problems.txt | | modules | C: llap-server U: llap-server | | Console output | http://104.198.109.242/logs//PreCommit-HIVE-Build-21757/yetus.txt | | Powered by | Apache Yetushttp://yetus.apache.org | This message was automatically generated. > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch, HIVE-23238.02.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or up
[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086481#comment-17086481 ] Panagiotis Garefalakis commented on HIVE-23238: --- Hey [~gopalv] thanks for the comments! Ignoring the number of completedTasks when preempting could indeed cause queries with lots of tasks that are near completion to be victimised in favour of shorter running ones. To avoid such cases, in [^HIVE-23238.02.patch] I added a completion percentage comparison that preserves the most amount of work completed instead (queries closer to completion will be preempted last). Task locality is another interesting property to take into account during preemption, but I believe this kind of decisions could also be taken into account from the AM side (when sending tasks to the TaskExecutorService) e.g., critical tasks with data locality could always be made Guaranteed. > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch, HIVE-23238.02.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or upstream tasks. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086162#comment-17086162 ] Gopal Vijayaraghavan commented on HIVE-23238: - Minor license nit. This (and the original code) has a possible problem scenario where a reducer with 1009 reducers with 1 pending to finish is going to be punished vs a task which has 199 out of 199. As in, the assumption of upstream tasks ignores pending tasks vs total upstream tasks. The one which has 1008 finished might actually have pulled & merged data locally, which makes it a bad candidate to preempt (for lost work). I need to think a bit through this about whether the preemption should care about host locality pinning or not (i.e a task which has no locality will go to another host, while a pinned task will retry itself on the same host). > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or upstream tasks. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases
[ https://issues.apache.org/jira/browse/HIVE-23238?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17086075#comment-17086075 ] Panagiotis Garefalakis commented on HIVE-23238: --- cc [~hashutosh] [~gopalv] [~rbalamohan] > FIX PreemptionQueueComparator edge cases > > > Key: HIVE-23238 > URL: https://issues.apache.org/jira/browse/HIVE-23238 > Project: Hive > Issue Type: Improvement >Reporter: Panagiotis Garefalakis >Assignee: Panagiotis Garefalakis >Priority: Major > Labels: pull-request-available > Fix For: llap > > Attachments: HIVE-23238.01.patch > > Time Spent: 10m > Remaining Estimate: 0h > > Properly handle preemption comparator edge cases where tasks are same type > and have the same number or upstream tasks. -- This message was sent by Atlassian Jira (v8.3.4#803005)