Bladeren bron

AMBARI-5038. Fix issues appeared after upgrading to 1.5.0. (mpapirkovskyy)

Myroslav Papirkovskyy 11 jaren geleden
bovenliggende
commit
a3728c4cb5

+ 4 - 4
ambari-server/src/main/java/org/apache/ambari/server/controller/ganglia/GangliaPropertyProvider.java

@@ -477,7 +477,7 @@ public abstract class GangliaPropertyProvider extends AbstractPropertyProvider {
           return Collections.emptySet();
         }
 
-        while(!dsName.equals("[~EOF]")) {
+        while(!"[~EOF]".equals(dsName)) {
           GangliaMetric metric = new GangliaMetric();
           List<GangliaMetric.TemporalMetric> listTemporalMetrics =
               new ArrayList<GangliaMetric.TemporalMetric>();
@@ -493,18 +493,18 @@ public abstract class GangliaPropertyProvider extends AbstractPropertyProvider {
           String val     = reader.readLine();
           String lastVal = null;
 
-          while(! val.equals("[~EOM]")) {
+          while(val!=null && !"[~EOM]".equals(val)) {
             if (val.startsWith("[~r]")) {
               Integer repeat = Integer.valueOf(val.substring(4)) - 1;
               for (int i = 0; i < repeat; ++i) {
-                if (! lastVal.equals("[~n]")) {
+                if (! "[~n]".equals(lastVal)) {
                   GangliaMetric.TemporalMetric tm = new GangliaMetric.TemporalMetric(lastVal, time);
                   if (tm.isValid()) listTemporalMetrics.add(tm);
                 }
                 time += step;
               }
             } else {
-              if (! val.equals("[~n]")) {
+              if (! "[~n]".equals(val)) {
                 GangliaMetric.TemporalMetric tm = new GangliaMetric.TemporalMetric(val, time);
                 if (tm.isValid()) listTemporalMetrics.add(tm);
               }

+ 6 - 0
ambari-server/src/main/java/org/apache/ambari/server/orm/dao/RequestDAO.java

@@ -23,6 +23,7 @@ import com.google.inject.Provider;
 import com.google.inject.persist.Transactional;
 import org.apache.ambari.server.actionmanager.HostRoleStatus;
 import org.apache.ambari.server.orm.entities.RequestEntity;
+import org.apache.ambari.server.orm.entities.RequestResourceFilterEntity;
 
 import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
@@ -52,6 +53,11 @@ public class RequestDAO {
     return daoUtils.selectAll(entityManagerProvider.get(), RequestEntity.class);
   }
 
+  @Transactional
+  public List<RequestResourceFilterEntity> findAllResourceFilters() {
+    return daoUtils.selectAll(entityManagerProvider.get(), RequestResourceFilterEntity.class);
+  }
+
   @Transactional
   public boolean isAllTasksCompleted(long requestId) {
     TypedQuery<Long> query = entityManagerProvider.get().createQuery(

+ 1 - 0
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog150.java

@@ -202,6 +202,7 @@ public class UpgradeCatalog150 extends AbstractUpgradeCatalog {
 
     // RequestResourceFilter
     columns.clear();
+    columns.add(new DBColumnInfo("filter_id", Long.class, null, null, false));
     columns.add(new DBColumnInfo("request_id", Long.class, null, null, false));
     columns.add(new DBColumnInfo("service_name", String.class, 255, null, true));
     columns.add(new DBColumnInfo("component_name", String.class, 255, null, true));

+ 3 - 1
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java

@@ -133,7 +133,9 @@ public class UpgradeTest {
     injector.getInstance(HostStateDAO.class).findAll();
     injector.getInstance(KeyValueDAO.class).findAll();
     injector.getInstance(MetainfoDAO.class).findAll();
-    injector.getInstance(RequestDAO.class).findAll();
+    RequestDAO requestDAO = injector.getInstance(RequestDAO.class);
+    requestDAO.findAll();
+    requestDAO.findAllResourceFilters();
     injector.getInstance(RequestScheduleBatchRequestDAO.class).findAll();
     injector.getInstance(RequestScheduleDAO.class).findAll();
     injector.getInstance(RoleDAO.class).findAll();