You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@carbondata.apache.org by ja...@apache.org on 2017/07/12 15:05:04 UTC

[28/50] [abbrv] carbondata git commit: performance issue resolved

performance issue resolved


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/1278c41b
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/1278c41b
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/1278c41b

Branch: refs/heads/datamap
Commit: 1278c41bb1692a3e542194626346c3324a5cfb4e
Parents: 427b88b
Author: sahakushal <ca...@gmail.com>
Authored: Wed Jun 28 16:29:01 2017 +0530
Committer: Venkata Ramana G <ra...@huawei.com>
Committed: Wed Jul 5 10:38:56 2017 +0530

----------------------------------------------------------------------
 .../apache/carbondata/spark/load/CarbonLoaderUtil.java    | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/1278c41b/integration/spark-common/src/main/java/org/apache/carbondata/spark/load/CarbonLoaderUtil.java
----------------------------------------------------------------------
diff --git a/integration/spark-common/src/main/java/org/apache/carbondata/spark/load/CarbonLoaderUtil.java b/integration/spark-common/src/main/java/org/apache/carbondata/spark/load/CarbonLoaderUtil.java
index 54e12f3..5b603aa 100644
--- a/integration/spark-common/src/main/java/org/apache/carbondata/spark/load/CarbonLoaderUtil.java
+++ b/integration/spark-common/src/main/java/org/apache/carbondata/spark/load/CarbonLoaderUtil.java
@@ -742,14 +742,20 @@ public final class CarbonLoaderUtil {
       if (null == nodeAndBlockMapping.get(node)) {
         list = new ArrayList<>(CarbonCommonConstants.DEFAULT_COLLECTION_SIZE);
         list.add(nbr.getBlock());
-        Collections.sort(list);
         nodeAndBlockMapping.put(node, list);
       } else {
         list = nodeAndBlockMapping.get(node);
         list.add(nbr.getBlock());
-        Collections.sort(list);
       }
     }
+    /*for resolving performance issue, removed values() with entrySet () iterating the values and
+    sorting it.entrySet will give the logical view for hashMap and we dont query the map twice for
+    each key whereas values () iterate twice*/
+    Iterator<Map.Entry<String, List<Distributable>>> iterator =
+        nodeAndBlockMapping.entrySet().iterator();
+    while (iterator.hasNext()) {
+      Collections.sort(iterator.next().getValue());
+    }
   }
 
   /**