Return-Path: X-Original-To: apmail-ambari-dev-archive@www.apache.org Delivered-To: apmail-ambari-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E8C3E1079C for ; Sun, 22 Feb 2015 02:04:29 +0000 (UTC) Received: (qmail 86304 invoked by uid 500); 22 Feb 2015 02:04:29 -0000 Delivered-To: apmail-ambari-dev-archive@ambari.apache.org Received: (qmail 86277 invoked by uid 500); 22 Feb 2015 02:04:29 -0000 Mailing-List: contact dev-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ambari.apache.org Delivered-To: mailing list dev@ambari.apache.org Received: (qmail 86258 invoked by uid 99); 22 Feb 2015 02:04:29 -0000 Received: from reviews-vm.apache.org (HELO reviews.apache.org) (140.211.11.40) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 22 Feb 2015 02:04:29 +0000 Received: from reviews.apache.org (localhost [127.0.0.1]) by reviews.apache.org (Postfix) with ESMTP id B0C7E1D2B21; Sun, 22 Feb 2015 02:04:27 +0000 (UTC) Content-Type: multipart/alternative; boundary="===============6366757767903810592==" MIME-Version: 1.0 Subject: Review Request 31273: Ambari Server Deadlocks During Cluster Provisioning From: "Jonathan Hurley" To: "Mahadev Konar" , "Nate Cole" , "Tom Beerbower" Cc: "Ambari" , "Jonathan Hurley" Date: Sun, 22 Feb 2015 02:04:27 -0000 Message-ID: <20150222020427.21353.12431@reviews.apache.org> X-ReviewBoard-URL: https://reviews.apache.org/ Auto-Submitted: auto-generated Sender: "Jonathan Hurley" X-ReviewGroup: Ambari X-ReviewRequest-URL: https://reviews.apache.org/r/31273/ X-Sender: "Jonathan Hurley" Reply-To: "Jonathan Hurley" X-ReviewRequest-Repository: ambari --===============6366757767903810592== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/31273/ ----------------------------------------------------------- Review request for Ambari, Mahadev Konar, Nate Cole, and Tom Beerbower. Bugs: AMBARI-9738 https://issues.apache.org/jira/browse/AMBARI-9738 Repository: ambari Description ------- During provisioning of a cluster, a deadlock scenario can occur between {{ClusterImpl}} and {{ClustersImpl}}. {noformat} Thread-1 Clusters.mapHostsToCluster (writeLock) Cluster.refresh (writeLock) Thread-2 Cluster.convertToResponse (readLock) Clusters.getHost (readLock) Thread-1 Clusters.mapHostsToCluster (writeLock) Thread-2 Cluster.convertToResponse (readLock) Thread-1 Cluster.refresh (writeLock) (BLOCKED by Thread-2) Thread-2 Clusters.getHost (readLock) (BLOCKED by Thread-1) {noformat} Diffs ----- ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java 8589182 ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClustersImpl.java 97ac2be ambari-server/src/test/java/org/apache/ambari/server/state/cluster/ClustersDeadlockTest.java PRE-CREATION Diff: https://reviews.apache.org/r/31273/diff/ Testing ------- Unit tests written before code fix to verify the deadlock could be reproduced. Deployed a clean cluster. Tests run: 2724, Failures: 0, Errors: 0, Skipped: 15 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13:55 min [INFO] Finished at: 2015-02-21T17:45:45-05:00 [INFO] Final Memory: 32M/371M [INFO] ------------------------------------------------------------------------ Thanks, Jonathan Hurley --===============6366757767903810592==--