[jira] [Commented] (HIVE-23238) FIX PreemptionQueueComparator edge cases

2020-04-19 Thread Gopal Vijayaraghavan (Jira)


[ 
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

2020-04-18 Thread Hive QA (Jira)


[ 
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

2020-04-18 Thread Hive QA (Jira)


[ 
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

2020-04-18 Thread Panagiotis Garefalakis (Jira)


[ 
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

2020-04-17 Thread Gopal Vijayaraghavan (Jira)


[ 
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

2020-04-17 Thread Panagiotis Garefalakis (Jira)


[ 
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)