[ 
https://issues.apache.org/jira/browse/HIVE-16013?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15879954#comment-15879954
 ] 

Siddharth Seth commented on HIVE-16013:
---------------------------------------

{code}
+        if (nodeInfo != null && nodeInfo.canAcceptTask()) {
{code}
This gets in the way of determining the next host to use. The requested host 
will have canAcceptTask = false (since we already tried and failed a local 
allocation). The requestedHostIdx will stay at -1, and we'll the first 
available in the reduce allNodes assigned. (The loop to determine the next host 
isn't serving any purpose after the patch - since the canAcceptTask check is 
removed).
Should've been caught by a unit test :(
I'd say create a separate list for the randomAllocation vs the consistent 
locality based allocation. random filtered by canAccept. Locality based would 
be the complete list.

Unrelated to this specific jira: what happens in cases where a node is not 
found in 'allNodes' during a consistent allocation (node went down between 
split generation and actual execution of the query). requestedHostIdx will stay 
at -1. Is this handled?

{code}
// no locality-requested, iterate the available hosts in consistent order from 
the beginning
{code}
This comment needs to be fixed. We're not iterating the available hosts any 
longer.

StackServlet.java - unrelated change?

Nit: Unused import in the Test

> Fragments without locality can stack up on nodes
> ------------------------------------------------
>
>                 Key: HIVE-16013
>                 URL: https://issues.apache.org/jira/browse/HIVE-16013
>             Project: Hive
>          Issue Type: Bug
>          Components: llap
>    Affects Versions: 2.2.0
>            Reporter: Siddharth Seth
>            Assignee: Prasanth Jayachandran
>         Attachments: HIVE-16013.1.patch
>
>
> When no locality information is provide, task requests can stack up on a node 
> because of consistent no selection. When locality information is not provided 
> we should fallback to random selection for better work distribution. 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to