You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2014/08/05 14:00:36 UTC

git commit: AMBARI-6734. ambari-server.log size is growing rapidly and contains lots of excess WARN records. (mpapirkovskyy)

Repository: ambari
Updated Branches:
  refs/heads/trunk 157f5ff44 -> 1153b2d96


AMBARI-6734. ambari-server.log size is growing rapidly and contains lots of excess WARN records. (mpapirkovskyy)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/1153b2d9
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/1153b2d9
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/1153b2d9

Branch: refs/heads/trunk
Commit: 1153b2d9697aad3c3af36f97811ec6a5bffdc11f
Parents: 157f5ff
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Tue Aug 5 15:00:23 2014 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Tue Aug 5 15:00:37 2014 +0300

----------------------------------------------------------------------
 .../ambari/server/orm/dao/ServiceConfigDAO.java | 10 ++++++
 .../server/state/cluster/ClusterImpl.java       | 32 ++++++++++++++------
 2 files changed, 33 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/1153b2d9/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 8b2487d..698e655 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
@@ -72,6 +72,16 @@ public class ServiceConfigDAO {
     return daoUtils.selectList(query, clusterId, configType, configVersion);
   }
 
+  public List<ServiceConfigApplicationEntity> getLastApplications(Long clusterId) {
+    TypedQuery<ServiceConfigApplicationEntity> query = entityManagerProvider.get().
+      createQuery("SELECT sca FROM ServiceConfigEntity scv JOIN scv.serviceConfigApplicationEntities sca " +
+          "WHERE scv.clusterId = ?1 AND sca.applyTimestamp = (" +
+          "SELECT max(sca2.applyTimestamp) FROM ServiceConfigApplicationEntity sca2 JOIN sca2.serviceConfigEntity scv2 WHERE scv2.serviceName = scv.serviceName " +
+          "AND scv2.clusterId = ?1)",
+        ServiceConfigApplicationEntity.class);
+    return daoUtils.selectList(query, clusterId);
+  }
+
   public ServiceConfigApplicationEntity getLastApplication(Long clusterId, String serviceName) {
     TypedQuery<ServiceConfigApplicationEntity> query = entityManagerProvider.get().
         createQuery("SELECT sca FROM ServiceConfigEntity scv JOIN scv.serviceConfigApplicationEntities sca " +

http://git-wip-us.apache.org/repos/asf/ambari/blob/1153b2d9/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
index 56005f6..cf672cf 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/state/cluster/ClusterImpl.java
@@ -1426,11 +1426,10 @@ public class ClusterImpl implements Cluster {
       readWriteLock.readLock().lock();
       try {
         Map<String, ServiceConfigVersionResponse> result = new HashMap<String, ServiceConfigVersionResponse>();
-        for (String serviceName : serviceConfigTypes.keySet()) {
-          ServiceConfigVersionResponse activeServiceConfigVersion = getActiveServiceConfigVersion(serviceName);
-          if (activeServiceConfigVersion != null) {
-            result.put(serviceName, activeServiceConfigVersion);
-          }
+
+        Set<ServiceConfigVersionResponse> responses = getActiveServiceConfigVersionSet();
+        for (ServiceConfigVersionResponse response : responses) {
+          result.put(response.getServiceName(), response);
         }
         return result;
       } finally {
@@ -1484,22 +1483,37 @@ public class ClusterImpl implements Cluster {
   }
 
   @RequiresSession
+  Set<ServiceConfigVersionResponse> getActiveServiceConfigVersionSet() {
+    Set<ServiceConfigVersionResponse> responses = new HashSet<ServiceConfigVersionResponse>();
+    List<ServiceConfigApplicationEntity> lastApplications = serviceConfigDAO.getLastApplications(getClusterId());
+    for (ServiceConfigApplicationEntity lastApplication : lastApplications) {
+      responses.add(convertToServiceConfigVersionResponse(lastApplication));
+    }
+    return responses;
+  }
+
+  @RequiresSession
   ServiceConfigVersionResponse getActiveServiceConfigVersion(String serviceName) {
     ServiceConfigApplicationEntity lastApplication = serviceConfigDAO.getLastApplication(getClusterId(), serviceName);
     if (lastApplication == null) {
-      LOG.warn("No active service config version found for service {}", serviceName);
+      LOG.debug("No active service config version found for service {}", serviceName);
       return null;
     }
+    return convertToServiceConfigVersionResponse(lastApplication);
+  }
+
+  @RequiresSession
+  ServiceConfigVersionResponse convertToServiceConfigVersionResponse(ServiceConfigApplicationEntity applicationEntity) {
     ServiceConfigVersionResponse serviceConfigVersionResponse = new ServiceConfigVersionResponse();
 
-    ServiceConfigEntity serviceConfigEntity = lastApplication.getServiceConfigEntity();
+    ServiceConfigEntity serviceConfigEntity = applicationEntity.getServiceConfigEntity();
 
     serviceConfigVersionResponse.setClusterName(getClusterName());
     serviceConfigVersionResponse.setServiceName(serviceConfigEntity.getServiceName());
     serviceConfigVersionResponse.setVersion(serviceConfigEntity.getVersion());
     serviceConfigVersionResponse.setCreateTime(serviceConfigEntity.getCreateTimestamp());
-    serviceConfigVersionResponse.setApplyTime(lastApplication.getApplyTimestamp());
-    serviceConfigVersionResponse.setUserName(lastApplication.getUser());
+    serviceConfigVersionResponse.setApplyTime(applicationEntity.getApplyTimestamp());
+    serviceConfigVersionResponse.setUserName(applicationEntity.getUser());
     return serviceConfigVersionResponse;
   }