Return-Path: X-Original-To: apmail-ambari-commits-archive@www.apache.org Delivered-To: apmail-ambari-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6865418CE2 for ; Sat, 19 Sep 2015 14:47:05 +0000 (UTC) Received: (qmail 64085 invoked by uid 500); 19 Sep 2015 14:47:05 -0000 Delivered-To: apmail-ambari-commits-archive@ambari.apache.org Received: (qmail 64044 invoked by uid 500); 19 Sep 2015 14:47:05 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 64031 invoked by uid 99); 19 Sep 2015 14:47:05 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 19 Sep 2015 14:47:05 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id EB276E00AF; Sat, 19 Sep 2015 14:36:50 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: aonishuk@apache.org To: commits@ambari.apache.org Date: Sat, 19 Sep 2015 14:36:50 -0000 Message-Id: <2b5bba3f462f4bb28fa2914a17b1e14c@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/3] ambari git commit: AMBARI-13144. Error during update service configurations while kerberizing cluster post Ambari upgrade (aonishuk) Repository: ambari Updated Branches: refs/heads/branch-2.1 9dcb90e00 -> 944d9a731 refs/heads/branch-2.1.2 b53dae25f -> 43a6bdd99 refs/heads/trunk fa4240e71 -> d095713a1 AMBARI-13144. Error during update service configurations while kerberizing cluster post Ambari upgrade (aonishuk) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d095713a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d095713a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d095713a Branch: refs/heads/trunk Commit: d095713a1e9cd3e96862d4fbd4061ce43f829754 Parents: fa4240e Author: Andrew Onishuk Authored: Sat Sep 19 17:36:23 2015 +0300 Committer: Andrew Onishuk Committed: Sat Sep 19 17:36:23 2015 +0300 ---------------------------------------------------------------------- .../ambari/server/orm/dao/ServiceConfigDAO.java | 8 ++++++++ .../apache/ambari/server/state/ServiceImpl.java | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/d095713a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java index 1063c3f..128fef0 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/dao/ServiceConfigDAO.java @@ -67,6 +67,14 @@ public class ServiceConfigDAO { "WHERE scv.serviceName=?1 AND scv.version=?2", ServiceConfigEntity.class); return daoUtils.selectOne(query, serviceName, version); } + + @RequiresSession + public List findByService(Long clusterId, String serviceName) { + TypedQuery query = entityManagerProvider.get(). + createQuery("SELECT scv FROM ServiceConfigEntity scv " + + "WHERE scv.clusterId=?1 AND scv.serviceName=?2", ServiceConfigEntity.class); + return daoUtils.selectList(query, clusterId, serviceName); + } @RequiresSession public List getLastServiceConfigVersionsForGroups(Collection configGroupIds) { http://git-wip-us.apache.org/repos/asf/ambari/blob/d095713a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java index d25132f..9a91e4c 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java @@ -19,6 +19,7 @@ package org.apache.ambari.server.state; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock; @@ -33,12 +34,14 @@ import org.apache.ambari.server.events.ServiceRemovedEvent; import org.apache.ambari.server.events.publishers.AmbariEventPublisher; import org.apache.ambari.server.orm.dao.ClusterDAO; import org.apache.ambari.server.orm.dao.ClusterServiceDAO; +import org.apache.ambari.server.orm.dao.ServiceConfigDAO; import org.apache.ambari.server.orm.dao.ServiceDesiredStateDAO; import org.apache.ambari.server.orm.dao.StackDAO; import org.apache.ambari.server.orm.entities.ClusterEntity; import org.apache.ambari.server.orm.entities.ClusterServiceEntity; import org.apache.ambari.server.orm.entities.ClusterServiceEntityPK; import org.apache.ambari.server.orm.entities.ServiceComponentDesiredStateEntity; +import org.apache.ambari.server.orm.entities.ServiceConfigEntity; import org.apache.ambari.server.orm.entities.ServiceDesiredStateEntity; import org.apache.ambari.server.orm.entities.StackEntity; import org.slf4j.Logger; @@ -68,6 +71,8 @@ public class ServiceImpl implements Service { private final boolean isClientOnlyService; @Inject + private ServiceConfigDAO serviceConfigDAO; + @Inject private ClusterServiceDAO clusterServiceDAO; @Inject private ServiceDesiredStateDAO serviceDesiredStateDAO; @@ -538,6 +543,20 @@ public class ServiceImpl implements Service { } } + @Transactional + void deleteAllServiceConfigs() throws AmbariException { + LOG.info("Deleting all serviceconfigs for service" + + ", clusterName=" + cluster.getClusterName() + + ", serviceName=" + getName()); + + List serviceConfigEntities = serviceConfigDAO.findByService(cluster.getClusterId(), getName()); + + for (ServiceConfigEntity serviceConfigEntity : serviceConfigEntities) { + serviceConfigDAO.remove(serviceConfigEntity); + } + + } + @Override @Transactional public void deleteAllComponents() throws AmbariException { @@ -617,6 +636,7 @@ public class ServiceImpl implements Service { readWriteLock.writeLock().lock(); try { deleteAllComponents(); + deleteAllServiceConfigs(); if (persisted) { removeEntities();