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