[09/51] [abbrv] lens git commit: LENS-890 : Adds per-queue and per-priority driver max launched queries constraints

2016-02-03 Thread deepakbarr
LENS-890 : Adds per-queue and per-priority driver max launched queries 
constraints


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/4d3d2f82
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/4d3d2f82
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/4d3d2f82

Branch: refs/heads/current-release-line
Commit: 4d3d2f82fb93ee4d5c52dc3b4910573953094c0a
Parents: 73f9243
Author: Rajat Khandelwal 
Authored: Tue Dec 15 18:45:08 2015 +0530
Committer: Amareshwari Sriramadasu 
Committed: Tue Dec 15 18:45:08 2015 +0530

--
 .../org/apache/lens/api/util/CommonUtils.java   |  27 ++-
 .../FactPartitionBasedQueryCostCalculator.java  |   8 +-
 .../org/apache/lens/driver/hive/HiveDriver.java |  68 +++---
 .../apache/lens/driver/hive/TestHiveDriver.java | 233 ---
 .../src/test/resources/priority_tests.data  |   1 +
 .../server/api/driver/AbstractLensDriver.java   |  13 +-
 .../lens/server/api/driver/LensDriver.java  |  13 +-
 .../server/api/query/AbstractQueryContext.java  |   9 +-
 .../lens/server/api/query/QueryContext.java |  12 +-
 .../MaxConcurrentDriverQueriesConstraint.java   |  54 -
 ...oncurrentDriverQueriesConstraintFactory.java |  49 +++-
 .../api/query/TestAbstractQueryContext.java |   4 +-
 ...axConcurrentDriverQueriesConstraintTest.java | 181 +-
 .../server/query/QueryExecutionServiceImpl.java |   1 +
 .../ThreadSafeEstimatedQueryCollectionTest.java |   3 +-
 15 files changed, 527 insertions(+), 149 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lens/blob/4d3d2f82/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
--
diff --git a/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java 
b/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
index 38d58c7..119c924 100644
--- a/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
+++ b/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
@@ -27,6 +27,25 @@ public class CommonUtils {
 
   }
 
+  public interface EntryParser {
+K parseKey(String str);
+
+V parseValue(String str);
+  }
+
+  private static EntryParser defaultEntryParser = new 
EntryParser() {
+@Override
+public String parseKey(String str) {
+  return str;
+}
+
+@Override
+public String parseValue(String str) {
+  return str;
+}
+  };
+
+
   /**
* Splits given String str around non-escaped commas. Then parses each of 
the split element
* as map entries in the format `key=value`. Constructs a map of such 
entries.
@@ -36,7 +55,11 @@ public class CommonUtils {
* @return parsed map
*/
   public static Map parseMapFromString(String str) {
-Map map = new HashMap<>();
+return parseMapFromString(str, defaultEntryParser);
+  }
+
+  public static  Map parseMapFromString(String str, EntryParser parser) {
+Map map = new HashMap<>();
 if (str != null) {
   for (String kv : str.split("(? 1) {
 value = kvArray[1].replaceAll(",", ",").trim();
   }
-  map.put(key, value);
+  map.put(parser.parseKey(key), parser.parseValue(value));
 }
   }
 }

http://git-wip-us.apache.org/repos/asf/lens/blob/4d3d2f82/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
--
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
 
b/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
index d56e1c7..9fecdbc 100644
--- 
a/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
+++ 
b/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
@@ -47,8 +47,11 @@ public class FactPartitionBasedQueryCostCalculator 
implements QueryCostCalculato
*/
 
   @SuppressWarnings("unchecked") // required for (Set) casting
-  private double getTotalPartitionCost(final AbstractQueryContext 
queryContext, LensDriver driver)
+  private Double getTotalPartitionCost(final AbstractQueryContext 
queryContext, LensDriver driver)
 throws LensException {
+if (queryContext.getDriverRewriterPlan(driver) == null) {
+  return null;
+}
 double cost = 0;
 for (Map.Entry entry : getAllPartitions(queryContext, 
driver).entrySet()) {
   // Have to do instanceof check, since it can't be handled by 
polymorphism.
@@ -86,7 +89,8 @@ public class 

lens git commit: LENS-890 : Adds per-queue and per-priority driver max launched queries constraints

2015-12-15 Thread amareshwari
Repository: lens
Updated Branches:
  refs/heads/master 73f92430c -> 4d3d2f82f


LENS-890 : Adds per-queue and per-priority driver max launched queries 
constraints


Project: http://git-wip-us.apache.org/repos/asf/lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/4d3d2f82
Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/4d3d2f82
Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/4d3d2f82

Branch: refs/heads/master
Commit: 4d3d2f82fb93ee4d5c52dc3b4910573953094c0a
Parents: 73f9243
Author: Rajat Khandelwal 
Authored: Tue Dec 15 18:45:08 2015 +0530
Committer: Amareshwari Sriramadasu 
Committed: Tue Dec 15 18:45:08 2015 +0530

--
 .../org/apache/lens/api/util/CommonUtils.java   |  27 ++-
 .../FactPartitionBasedQueryCostCalculator.java  |   8 +-
 .../org/apache/lens/driver/hive/HiveDriver.java |  68 +++---
 .../apache/lens/driver/hive/TestHiveDriver.java | 233 ---
 .../src/test/resources/priority_tests.data  |   1 +
 .../server/api/driver/AbstractLensDriver.java   |  13 +-
 .../lens/server/api/driver/LensDriver.java  |  13 +-
 .../server/api/query/AbstractQueryContext.java  |   9 +-
 .../lens/server/api/query/QueryContext.java |  12 +-
 .../MaxConcurrentDriverQueriesConstraint.java   |  54 -
 ...oncurrentDriverQueriesConstraintFactory.java |  49 +++-
 .../api/query/TestAbstractQueryContext.java |   4 +-
 ...axConcurrentDriverQueriesConstraintTest.java | 181 +-
 .../server/query/QueryExecutionServiceImpl.java |   1 +
 .../ThreadSafeEstimatedQueryCollectionTest.java |   3 +-
 15 files changed, 527 insertions(+), 149 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/lens/blob/4d3d2f82/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
--
diff --git a/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java 
b/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
index 38d58c7..119c924 100644
--- a/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
+++ b/lens-api/src/main/java/org/apache/lens/api/util/CommonUtils.java
@@ -27,6 +27,25 @@ public class CommonUtils {
 
   }
 
+  public interface EntryParser {
+K parseKey(String str);
+
+V parseValue(String str);
+  }
+
+  private static EntryParser defaultEntryParser = new 
EntryParser() {
+@Override
+public String parseKey(String str) {
+  return str;
+}
+
+@Override
+public String parseValue(String str) {
+  return str;
+}
+  };
+
+
   /**
* Splits given String str around non-escaped commas. Then parses each of 
the split element
* as map entries in the format `key=value`. Constructs a map of such 
entries.
@@ -36,7 +55,11 @@ public class CommonUtils {
* @return parsed map
*/
   public static Map parseMapFromString(String str) {
-Map map = new HashMap<>();
+return parseMapFromString(str, defaultEntryParser);
+  }
+
+  public static  Map parseMapFromString(String str, EntryParser parser) {
+Map map = new HashMap<>();
 if (str != null) {
   for (String kv : str.split("(? 1) {
 value = kvArray[1].replaceAll(",", ",").trim();
   }
-  map.put(key, value);
+  map.put(parser.parseKey(key), parser.parseValue(value));
 }
   }
 }

http://git-wip-us.apache.org/repos/asf/lens/blob/4d3d2f82/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
--
diff --git 
a/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
 
b/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
index d56e1c7..9fecdbc 100644
--- 
a/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
+++ 
b/lens-cube/src/main/java/org/apache/lens/cube/query/cost/FactPartitionBasedQueryCostCalculator.java
@@ -47,8 +47,11 @@ public class FactPartitionBasedQueryCostCalculator 
implements QueryCostCalculato
*/
 
   @SuppressWarnings("unchecked") // required for (Set) casting
-  private double getTotalPartitionCost(final AbstractQueryContext 
queryContext, LensDriver driver)
+  private Double getTotalPartitionCost(final AbstractQueryContext 
queryContext, LensDriver driver)
 throws LensException {
+if (queryContext.getDriverRewriterPlan(driver) == null) {
+  return null;
+}
 double cost = 0;
 for (Map.Entry entry : getAllPartitions(queryContext, 
driver).entrySet()) {
   // Have to do instanceof check, since it can't be handled by 
polymorphism.