You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by bi...@apache.org on 2019/03/12 19:29:46 UTC

[hadoop] 01/03: Revert "YARN-9255. Improve recommend applications order and fix findbugs warnings. Contributed by Eric Yang"

This is an automated email from the ASF dual-hosted git repository.

billie pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git

commit 024b3bae8aa660bc4503b7aa36d788a08f833460
Author: Billie Rinaldi <bi...@apache.org>
AuthorDate: Tue Mar 12 11:48:55 2019 -0700

    Revert "YARN-9255. Improve recommend applications order and fix findbugs warnings. Contributed by Eric Yang"
    
    This reverts commit aab7b77536ef3feaead85106de85d628fcfebcb1.
---
 .../application/AppCatalogSolrClient.java          | 65 ++++------------------
 .../hadoop/yarn/appcatalog/model/AppDetails.java   | 12 ++--
 .../hadoop/yarn/appcatalog/model/Application.java  | 22 --------
 .../application/TestAppCatalogSolrClient.java      | 22 +-------
 4 files changed, 18 insertions(+), 103 deletions(-)

diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/application/AppCatalogSolrClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/application/AppCatalogSolrClient.java
index f3532ae..1397722 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/application/AppCatalogSolrClient.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/application/AppCatalogSolrClient.java
@@ -38,7 +38,6 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.solr.client.solrj.SolrClient;
 import org.apache.solr.client.solrj.SolrQuery;
-import org.apache.solr.client.solrj.SolrQuery.ORDER;
 import org.apache.solr.client.solrj.SolrServerException;
 import org.apache.solr.client.solrj.impl.HttpSolrClient;
 import org.apache.solr.client.solrj.response.QueryResponse;
@@ -65,16 +64,12 @@ public class AppCatalogSolrClient {
     Properties properties = new Properties();
     try {
       properties.load(input);
-      setSolrUrl(properties.getProperty("solr_url"));
+      urlString = properties.getProperty("solr_url");
     } catch (IOException e) {
       LOG.error("Error reading appcatalog configuration: ", e);
     }
   }
 
-  private synchronized static void setSolrUrl(String url) {
-    urlString = url;
-  }
-
   public SolrClient getSolrClient() {
     return new HttpSolrClient.Builder(urlString).build();
   }
@@ -84,7 +79,6 @@ public class AppCatalogSolrClient {
     SolrClient solr = getSolrClient();
     SolrQuery query = new SolrQuery();
     query.setQuery("*:*");
-    query.setSort("download_i", ORDER.desc);
     query.setFilterQueries("type_s:AppStoreEntry");
     query.setRows(40);
     QueryResponse response;
@@ -101,8 +95,8 @@ public class AppCatalogSolrClient {
         if (d.get("icon_s")!=null) {
           entry.setIcon(d.get("icon_s").toString());
         }
-        entry.setLike(Integer.parseInt(d.get("like_i").toString()));
-        entry.setDownload(Integer.parseInt(d.get("download_i").toString()));
+        entry.setLike(Integer.valueOf(d.get("like_i").toString()));
+        entry.setDownload(Integer.valueOf(d.get("download_i").toString()));
         apps.add(entry);
       }
     } catch (SolrServerException | IOException e) {
@@ -134,8 +128,8 @@ public class AppCatalogSolrClient {
         entry.setOrg(d.get("org_s").toString());
         entry.setName(d.get("name_s").toString());
         entry.setDesc(d.get("desc_s").toString());
-        entry.setLike(Integer.parseInt(d.get("like_i").toString()));
-        entry.setDownload(Integer.parseInt(d.get("download_i").toString()));
+        entry.setLike(Integer.valueOf(d.get("like_i").toString()));
+        entry.setDownload(Integer.valueOf(d.get("download_i").toString()));
         apps.add(entry);
       }
     } catch (SolrServerException | IOException e) {
@@ -195,8 +189,8 @@ public class AppCatalogSolrClient {
         entry.setOrg(d.get("org_s").toString());
         entry.setName(d.get("name_s").toString());
         entry.setDesc(d.get("desc_s").toString());
-        entry.setLike(Integer.parseInt(d.get("like_i").toString()));
-        entry.setDownload(Integer.parseInt(d.get("download_i").toString()));
+        entry.setLike(Integer.valueOf(d.get("like_i").toString()));
+        entry.setDownload(Integer.valueOf(d.get("download_i").toString()));
         Service yarnApp = mapper.readValue(d.get("yarnfile_s").toString(),
             Service.class);
         String name;
@@ -269,8 +263,8 @@ public class AppCatalogSolrClient {
       entry.setOrg(d.get("org_s").toString());
       entry.setName(d.get("name_s").toString());
       entry.setDesc(d.get("desc_s").toString());
-      entry.setLike(Integer.parseInt(d.get("like_i").toString()));
-      entry.setDownload(Integer.parseInt(d.get("download_i").toString()));
+      entry.setLike(Integer.valueOf(d.get("like_i").toString()));
+      entry.setDownload(Integer.valueOf(d.get("download_i").toString()));
       download = entry.getDownload() + 1;
 
       // Update download count
@@ -309,8 +303,7 @@ public class AppCatalogSolrClient {
         s.addField(name, doc.getFieldValues(name));
       }
     }
-    download++;
-    s.setField("download_i", download);
+    s.setField("download_i", download++);
     return s;
   }
 
@@ -363,42 +356,4 @@ public class AppCatalogSolrClient {
     }
   }
 
-  protected void register(AppStoreEntry app) throws IOException {
-    Collection<SolrInputDocument> docs = new HashSet<SolrInputDocument>();
-    SolrClient solr = getSolrClient();
-    ObjectMapper mapper = new ObjectMapper();
-    mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-    try {
-      SolrInputDocument buffer = new SolrInputDocument();
-      buffer.setField("id", java.util.UUID.randomUUID().toString()
-          .substring(0, 11));
-      buffer.setField("org_s", app.getOrg());
-      buffer.setField("name_s", app.getName());
-      buffer.setField("desc_s", app.getDesc());
-      if (app.getIcon() != null) {
-        buffer.setField("icon_s", app.getIcon());
-      }
-      buffer.setField("type_s", "AppStoreEntry");
-      buffer.setField("like_i", app.getLike());
-      buffer.setField("download_i", app.getDownload());
-
-      // Keep only YARN data model for yarnfile field
-      String yarnFile = mapper.writeValueAsString(app);
-      LOG.info("app:"+yarnFile);
-      Service yarnApp = mapper.readValue(yarnFile, Service.class);
-      buffer.setField("yarnfile_s", mapper.writeValueAsString(yarnApp));
-
-      docs.add(buffer);
-      // Commit Solr changes.
-      UpdateResponse detailsResponse = solr.add(docs);
-      if (detailsResponse.getStatus() != 0) {
-        throw new IOException("Unable to register application " +
-            "in Application Store.");
-      }
-      solr.commit();
-    } catch (SolrServerException | IOException e) {
-      throw new IOException("Unable to register application " +
-          "in Application Store. "+ e.getMessage());
-    }
-  }
 }
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/AppDetails.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/AppDetails.java
index d7168fc..42012cf 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/AppDetails.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/AppDetails.java
@@ -51,26 +51,26 @@ public class AppDetails {
   }
 
   public String[] getPorts() {
-    return ports.clone();
+    return ports;
   }
 
   public void setPorts(String[] ports2) {
-    this.ports = ports2.clone();
+    this.ports = ports2;
   }
 
   public String[] getVolumes() {
-    return volumes.clone();
+    return volumes;
   }
 
   public void setVolumes(String[] volumes) {
-    this.volumes = volumes.clone();
+    this.volumes = volumes;
   }
 
   public String[] getEnv() {
-    return env.clone();
+    return env;
   }
 
   public void setEnv(String[] env) {
-    this.env = env.clone();
+    this.env = env;
   }
 }
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/Application.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/Application.java
index c99104a..dbc31b1 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/Application.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/main/java/org/apache/hadoop/yarn/appcatalog/model/Application.java
@@ -18,8 +18,6 @@
 
 package org.apache.hadoop.yarn.appcatalog.model;
 
-import java.util.Objects;
-
 import javax.xml.bind.annotation.XmlRootElement;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -66,24 +64,4 @@ public class Application extends Service {
     this.icon = icon;
   }
 
-  @Override
-  public boolean equals(final Object obj) {
-    if (obj == this) {
-      return true;
-    } else if ((obj instanceof Application)) {
-      if (((Application) obj).getName().equals(this.getName())
-          && ((Application) obj).getVersion().equals(this.getVersion())
-          && ((Application) obj).getOrganization()
-              .equals(this.getOrganization())) {
-        return true;
-      }
-    }
-    return false;
-  }
-
-  @Override
-  public int hashCode() {
-    return Objects
-        .hash(this.getName() + this.getVersion() + this.getOrganization());
-  }
 }
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/test/java/org/apache/hadoop/yarn/appcatalog/application/TestAppCatalogSolrClient.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/test/java/org/apache/hadoop/yarn/appcatalog/application/TestAppCatalogSolrClient.java
index 16bf7fb..a43e0d4 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/test/java/org/apache/hadoop/yarn/appcatalog/application/TestAppCatalogSolrClient.java
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-catalog/hadoop-yarn-applications-catalog-webapp/src/test/java/org/apache/hadoop/yarn/appcatalog/application/TestAppCatalogSolrClient.java
@@ -104,27 +104,9 @@ public class TestAppCatalogSolrClient {
 
   @Test
   public void testGetRecommendedApps() throws Exception {
-    AppStoreEntry example = new AppStoreEntry();
-    example.setOrg("jenkins-ci.org");
-    example.setName("jenkins");
-    example.setDesc("World leading open source automation system.");
-    example.setIcon("/css/img/feather.png");
-    example.setDownload(100);
-    spy.register(example);
-    AppStoreEntry example2 = new AppStoreEntry();
-    example2.setOrg("Apache");
-    example2.setName("httpd");
-    example2.setDesc("Apache webserver");
-    example2.setIcon("/css/img/feather.png");
-    example2.setDownload(1);
-    spy.register(example2);
+    List<AppStoreEntry> expected = spy.getRecommendedApps();
     List<AppStoreEntry> actual = spy.getRecommendedApps();
-    long previous = 1000L;
-    for (AppStoreEntry app: actual) {
-      assertTrue("Recommend app is not sort by download count.",
-          previous > app.getDownload());
-      previous = app.getDownload();
-    }
+    assertEquals(expected, actual);
   }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org