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

Rajesh Balamohan commented on HIVE-15529:
-----------------------------------------


Yes, issue is with "PathChildrenCache.getCurrentData(name)". This internally 
stores "path, childData". But currently code passes "getNodeIdentity()" which 
would always return null. Hence it was not able to re-enable the disabled node.


{noformat}
For example, PathChildrenCache has the following keys and values

Keys: [/user-rbalamohan/llap0/workers/slot-0000000000, 
/user-rbalamohan/llap0/workers/worker-0000000416]
Values: [ChildData{path='/user-rbalamohan/llap0/workers/slot-0000000000', 
stat=101148,101148,1483486257760,1483486257760,0,0,0,96572092669136166,36,0,101148...

But as per NodeEnablerCallable, it ends up requesting based on nodeIdentity. 
Hence the issue. Here is the log snippet

2017-01-03 18:33:16,343 [INFO] [LlapSchedulerNodeEnabler] 
|tezplugins.LlapTaskSchedulerService|: Attempting to re-enable node: 
{machine-105:40396, id=f5c2afe6-79bb-4636-8357-6b9158bef4d2, stc=24}
..
2017-01-03 18:33:16,356 [INFO] [LlapSchedulerNodeEnabler] 
|tezplugins.LlapTaskSchedulerService|: Not re-enabling node: 
{machine-105:40396, id=f5c2afe6-79bb-4636-8357-6b9158bef4d2, stc=24}, since it 
is not present in the RegistryActiveNodeList
{noformat}

Patch fixes the issue by checking for nodeIdentity.

> LLAP: TaskSchedulerService can get stuck when scheduleTask returns 
> DELAYED_RESOURCES
> ------------------------------------------------------------------------------------
>
>                 Key: HIVE-15529
>                 URL: https://issues.apache.org/jira/browse/HIVE-15529
>             Project: Hive
>          Issue Type: Bug
>          Components: llap
>            Reporter: Rajesh Balamohan
>            Assignee: Rajesh Balamohan
>            Priority: Critical
>         Attachments: HIVE-15529.1.patch
>
>
> Easier way to simulate the issue:
> 1. Start hive cli with "--hiveconf hive.execution.mode=llap"
> 2. Run a sql script file (e.g sql script containing tpc-ds queries)
> 3. In the middle of the run, press "ctrl+C" which would interrupt the current 
> job. This should not exit the hive cli yet.
> 4. After sometime, launch the same SQL script in same cli. This would get 
> stuck indefinitely (waiting for computing the splits).
> Even when cli is quit, AM runs forever until explicitly killed. 
> Issue seems to be around {{LlapTaskSchedulerService::schedulePendingTasks}} 
> dealing with the loop when it encounters {{DELAYED_RESOURCES}} on task 
> scheduling. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to