[ 
https://issues.apache.org/jira/browse/AMBARI-20712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Hurley updated AMBARI-20712:
-------------------------------------
    Attachment: AMBARI-20712.patch

> Parallel Requests With Intersecting Hosts Don't Block Correctly
> ---------------------------------------------------------------
>
>                 Key: AMBARI-20712
>                 URL: https://issues.apache.org/jira/browse/AMBARI-20712
>             Project: Ambari
>          Issue Type: Bug
>    Affects Versions: 2.5.1
>            Reporter: Jonathan Hurley
>            Assignee: Jonathan Hurley
>            Priority: Blocker
>             Fix For: 2.5.1
>
>         Attachments: AMBARI-20712.patch
>
>
> AMBARI-20646 introduced a regression which can be seen when deploying a 
> cluster via blueprint with Kerberization. The problem is caused by the change 
> which was made to only pull in the most recent stage in progress per request.
> There was logic which prevented concurrently executing request stages to be 
> scheduled if a prior request had an un-executed stage with a conflicting 
> host. For example:
> - Request 1
> -- Stage 1 (IN_PROGRESS)
> --- Host 1
> --- Host 2
> --- Host 3
> -- Stage 2 (PENDING)
> --- Host 4
> - Request 2
> -- Stage 1
> --- Host 4
> In the above scenario, the scheduler was tricked into thinking that Request 2 
> can run even though Host-4 has a conflict. This is because it was only 
> looking at the stage in progress.
> We can't simply look at all stages in progress since this would cause the 
> performance bug to manifest again. So, the solution is to have the database 
> tell us which hosts are blocking from prior requests. This SQL should be very 
> fast and will only run in the specific cases where there are multiple 
> concurrent requests (which is typically at blueprint time).



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

Reply via email to