You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2015/03/31 06:37:41 UTC

incubator-lens git commit: LENS-437 : Remove counts and weights from QueryPlan (amareshwari)

Repository: incubator-lens
Updated Branches:
  refs/heads/master f57a9a149 -> e3e45aef2


LENS-437 : Remove counts and weights from QueryPlan (amareshwari)


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

Branch: refs/heads/master
Commit: e3e45aef2b596ad18c1579256ad3e6884b6e93ad
Parents: f57a9a1
Author: Amareshwari Sriramadasu <am...@apache.org>
Authored: Tue Mar 31 10:07:31 2015 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Tue Mar 31 10:07:31 2015 +0530

----------------------------------------------------------------------
 .../org/apache/lens/api/query/QueryPlan.java    | 136 --------
 .../apache/lens/driver/cube/RewriterPlan.java   |  31 --
 .../lens/cube/parse/TestRewriterPlan.java       |  21 --
 .../apache/lens/driver/hive/HiveQueryPlan.java  |  22 +-
 .../apache/lens/driver/hive/TestHiveDriver.java |   2 -
 .../lens/server/api/driver/DriverQueryPlan.java | 328 +------------------
 .../lens/server/query/TestQueryService.java     |   3 -
 7 files changed, 4 insertions(+), 539 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-api/src/main/java/org/apache/lens/api/query/QueryPlan.java
----------------------------------------------------------------------
diff --git a/lens-api/src/main/java/org/apache/lens/api/query/QueryPlan.java b/lens-api/src/main/java/org/apache/lens/api/query/QueryPlan.java
index a578759..a836b1e 100644
--- a/lens-api/src/main/java/org/apache/lens/api/query/QueryPlan.java
+++ b/lens-api/src/main/java/org/apache/lens/api/query/QueryPlan.java
@@ -24,7 +24,6 @@ package org.apache.lens.api.query;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.List;
-import java.util.Map;
 
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElementWrapper;
@@ -39,22 +38,6 @@ import lombok.*;
 /**
  * Instantiates a new query plan.
  *
- * @param numJoins
- *          the num joins
- * @param numGbys
- *          the num gbys
- * @param numSels
- *          the num sels
- * @param numSelDi
- *          the num sel di
- * @param numHaving
- *          the num having
- * @param numObys
- *          the num obys
- * @param numAggrExprs
- *          the num aggr exprs
- * @param numFilters
- *          the num filters
  * @param tablesQueried
  *          the tables queried
  * @param hasSubQuery
@@ -63,20 +46,6 @@ import lombok.*;
  *          the exec mode
  * @param scanMode
  *          the scan mode
- * @param tableWeights
- *          the table weights
- * @param joinWeight
- *          the join weight
- * @param gbyWeight
- *          the gby weight
- * @param filterWeight
- *          the filter weight
- * @param havingWeight
- *          the having weight
- * @param obyWeight
- *          the oby weight
- * @param selectWeight
- *          the select weight
  * @param prepareHandle
  *          the prepare handle
  * @param planString
@@ -96,62 +65,6 @@ import lombok.*;
 public class QueryPlan extends QuerySubmitResult {
 
   /**
-   * The num joins.
-   */
-  @XmlElement
-  @Getter
-  private int numJoins = 0;
-
-  /**
-   * The num gbys.
-   */
-  @XmlElement
-  @Getter
-  private int numGbys = 0;
-
-  /**
-   * The num sels.
-   */
-  @XmlElement
-  @Getter
-  private int numSels = 0;
-
-  /**
-   * The num sel di.
-   */
-  @XmlElement
-  @Getter
-  private int numSelDi = 0;
-
-  /**
-   * The num having.
-   */
-  @XmlElement
-  @Getter
-  private int numHaving = 0;
-
-  /**
-   * The num obys.
-   */
-  @XmlElement
-  @Getter
-  private int numObys = 0;
-
-  /**
-   * The num aggr exprs.
-   */
-  @XmlElement
-  @Getter
-  private int numAggrExprs = 0;
-
-  /**
-   * The num filters.
-   */
-  @XmlElement
-  @Getter
-  private int numFilters = 0;
-
-  /**
    * The tables queried.
    */
   @XmlElementWrapper
@@ -180,55 +93,6 @@ public class QueryPlan extends QuerySubmitResult {
   private String scanMode;
 
   /**
-   * The table weights.
-   */
-  @XmlElementWrapper
-  @Getter
-  private Map<String, Double> tableWeights;
-
-  /**
-   * The join weight.
-   */
-  @XmlElement
-  @Getter
-  private Double joinWeight;
-
-  /**
-   * The gby weight.
-   */
-  @XmlElement
-  @Getter
-  private Double gbyWeight;
-
-  /**
-   * The filter weight.
-   */
-  @XmlElement
-  @Getter
-  private Double filterWeight;
-
-  /**
-   * The having weight.
-   */
-  @XmlElement
-  @Getter
-  private Double havingWeight;
-
-  /**
-   * The oby weight.
-   */
-  @XmlElement
-  @Getter
-  private Double obyWeight;
-
-  /**
-   * The select weight.
-   */
-  @XmlElement
-  @Getter
-  private Double selectWeight;
-
-  /**
    * The prepare handle.
    */
   @Getter

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java
index b05814e..841946d 100644
--- a/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java
+++ b/lens-cube/src/main/java/org/apache/lens/driver/cube/RewriterPlan.java
@@ -46,27 +46,9 @@ public final class RewriterPlan extends DriverQueryPlan {
 
   @SuppressWarnings("unchecked") // required for (Set<FactPartition>) casting
   void extractPlan(Collection<CubeQueryContext> cubeQueries) {
-    int selectCount = 0;
-    int havingCount = 0;
-    int joinCount = 0;
-    int groupbyCount = 0;
-    int orderbyCount = 0;
 
     for (CubeQueryContext ctx : cubeQueries) {
-      if (ctx.getOrderByAST() != null) {
-        orderbyCount += ctx.getOrderByAST().getChildCount();
-      }
-      if (ctx.getGroupByAST() != null) {
-        groupbyCount += ctx.getGroupByAST().getChildCount();
-      }
-      if (ctx.getHavingAST() != null) {
-        havingCount += ctx.getHavingAST().getChildCount();
-      }
-      if (ctx.getSelectAST() != null) {
-        selectCount += ctx.getSelectAST().getChildCount();
-      }
       if (ctx.getPickedDimTables() != null && !ctx.getPickedDimTables().isEmpty()) {
-        joinCount += ctx.getPickedDimTables().size();
         for (CandidateTable dim : ctx.getPickedDimTables()) {
           addTablesQueried(dim.getStorageTables());
           if (partitions.get(dim.getName()) == null || partitions.get(dim.getName()).isEmpty()) {
@@ -85,11 +67,6 @@ public final class RewriterPlan extends DriverQueryPlan {
           }
           factParts.addAll((Set<FactPartition>) fact.getPartsQueried());
         }
-      } else {
-        // if no facts are there, reducing join count by one, as target would be one of the dimtables picked
-        if (joinCount > 0) {
-          joinCount--;
-        }
       }
       for (String table : getTablesQueried()) {
         if (!tableWeights.containsKey(table)) {
@@ -110,14 +87,6 @@ public final class RewriterPlan extends DriverQueryPlan {
       }
     }
     setHasSubQuery(hasSubQuery || cubeQueries.size() > 1);
-    setNumGbys(groupbyCount);
-    setNumJoins(joinCount);
-    setNumOrderBys(orderbyCount);
-    setNumSels(selectCount);
-    setNumHaving(havingCount);
-    setNumAggreagateExprs(-1);
-    setNumSelDistincts(-1);
-    setNumFilters(-1);
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
index 0738b27..544f4a0 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/parse/TestRewriterPlan.java
@@ -52,13 +52,6 @@ public class TestRewriterPlan extends TestQueryRewrite {
     ctx.toHQL();
     RewriterPlan plan = new RewriterPlan(Collections.singleton(ctx));
     Assert.assertNotNull(plan);
-    Assert.assertEquals(plan.getNumSels(), 1);
-    Assert.assertEquals(plan.getNumGbys(), 0);
-    Assert.assertEquals(plan.getNumJoins(), 0);
-    Assert.assertEquals(plan.getNumHaving(), 0);
-    Assert.assertEquals(plan.getNumFilters(), -1);
-    Assert.assertEquals(plan.getNumOrderBys(), 0);
-    Assert.assertEquals(plan.getNumAggreagateExprs(), -1);
     Assert.assertFalse(plan.getTablesQueried().isEmpty());
     Assert.assertTrue(plan.getTablesQueried().contains("TestQueryRewrite.c2_testfact"));
     Assert.assertEquals(plan.getTableWeights().get("TestQueryRewrite.c2_testfact"), 1.0);
@@ -75,13 +68,6 @@ public class TestRewriterPlan extends TestQueryRewrite {
     ctx.toHQL();
     RewriterPlan plan = new RewriterPlan(Collections.singleton(ctx));
     Assert.assertNotNull(plan);
-    Assert.assertEquals(plan.getNumSels(), 2);
-    Assert.assertEquals(plan.getNumGbys(), 1);
-    Assert.assertEquals(plan.getNumJoins(), 1);
-    Assert.assertEquals(plan.getNumHaving(), 1);
-    Assert.assertEquals(plan.getNumOrderBys(), 1);
-    Assert.assertEquals(plan.getNumFilters(), -1);
-    Assert.assertEquals(plan.getNumAggreagateExprs(), -1);
     Assert.assertFalse(plan.getTablesQueried().isEmpty());
     Assert.assertTrue(plan.getTablesQueried().contains("TestQueryRewrite.c2_testfact"));
     Assert.assertTrue(plan.getTablesQueried().contains("TestQueryRewrite.c1_citytable"));
@@ -104,13 +90,6 @@ public class TestRewriterPlan extends TestQueryRewrite {
     ctx2.toHQL();
     RewriterPlan plan = new RewriterPlan(Arrays.asList(ctx1, ctx2));
     Assert.assertNotNull(plan);
-    Assert.assertEquals(plan.getNumSels(), 3);
-    Assert.assertEquals(plan.getNumGbys(), 1);
-    Assert.assertEquals(plan.getNumJoins(), 1);
-    Assert.assertEquals(plan.getNumHaving(), 1);
-    Assert.assertEquals(plan.getNumOrderBys(), 1);
-    Assert.assertEquals(plan.getNumFilters(), -1);
-    Assert.assertEquals(plan.getNumAggreagateExprs(), -1);
     Assert.assertFalse(plan.getTablesQueried().isEmpty());
     Assert.assertTrue(plan.getTablesQueried().contains("TestQueryRewrite.c2_testfact"));
     Assert.assertTrue(plan.getTablesQueried().contains("TestQueryRewrite.c1_citytable"));

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveQueryPlan.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveQueryPlan.java b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveQueryPlan.java
index fce93a9..9d43fa8 100644
--- a/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveQueryPlan.java
+++ b/lens-driver-hive/src/main/java/org/apache/lens/driver/hive/HiveQueryPlan.java
@@ -139,26 +139,6 @@ public class HiveQueryPlan extends DriverQueryPlan {
       case TABLE_SCAN:
         // no op
         break;
-      case JOIN:
-        if (tr.equals("condition map:")) {
-          numJoins++;
-        }
-        break;
-      case SELECT:
-        if (tr.startsWith("expressions:") && states.get(states.size() - 1) == ParserState.TABLE_SCAN) {
-          numSels += StringUtils.split(tr, ",").length;
-        }
-        break;
-      case GROUPBY_EXPRS:
-        if (tr.startsWith("aggregations:")) {
-          numAggrExprs += StringUtils.split(tr, ",").length;
-        }
-        break;
-      case GROUPBY_KEYS:
-        if (tr.startsWith("keys:")) {
-          numGbys += StringUtils.split(tr, ",").length;
-        }
-        break;
       case PARTITION:
         String partConditionStr = null;
         for (; i < explainOutput.size(); i++) {
@@ -213,6 +193,8 @@ public class HiveQueryPlan extends DriverQueryPlan {
           }
         }
         break;
+      default :
+        break;
       }
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
index 089c496..f02490b 100644
--- a/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
+++ b/lens-driver-hive/src/test/java/org/apache/lens/driver/hive/TestHiveDriver.java
@@ -759,7 +759,6 @@ public class TestHiveDriver {
     assertNotNull(plan.getTableWeights());
     assertTrue(plan.getTableWeights().containsKey(dataBase + ".explain_test_1"));
     assertTrue(plan.getTableWeights().containsKey(dataBase + ".explain_test_2"));
-    assertEquals(plan.getNumJoins(), 1);
     assertTrue(plan.getPlan() != null && !plan.getPlan().isEmpty());
     driver.closeQuery(plan.getHandle());
   }
@@ -784,7 +783,6 @@ public class TestHiveDriver {
     assertNotNull(plan2.getTablesQueried());
     assertEquals(plan2.getTablesQueried().size(), 1);
     assertTrue(plan2.getTableWeights().containsKey(dataBase + ".explain_test_1"));
-    assertEquals(plan2.getNumSels(), 1);
     QueryContext ctx = createContext(pctx, conf);
     LensResultSet resultSet = driver.execute(ctx);
     Assert.assertEquals(0, driver.getHiveHandleSize());

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
----------------------------------------------------------------------
diff --git a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
index 1d41720..9de22c5 100644
--- a/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
+++ b/lens-server-api/src/main/java/org/apache/lens/server/api/driver/DriverQueryPlan.java
@@ -84,46 +84,6 @@ public abstract class DriverQueryPlan {
   }
 
   /**
-   * The num joins.
-   */
-  protected int numJoins = 0;
-
-  /**
-   * The num gbys.
-   */
-  protected int numGbys = 0;
-
-  /**
-   * The num sels.
-   */
-  protected int numSels = 0;
-
-  /**
-   * The num sel di.
-   */
-  protected int numSelDi = 0;
-
-  /**
-   * The num having.
-   */
-  protected int numHaving = 0;
-
-  /**
-   * The num obys.
-   */
-  protected int numObys = 0;
-
-  /**
-   * The num aggr exprs.
-   */
-  protected int numAggrExprs = 0;
-
-  /**
-   * The num filters.
-   */
-  protected int numFilters = 0;
-
-  /**
    * The tables queried.
    */
   protected final Set<String> tablesQueried = new HashSet<String>();
@@ -154,36 +114,6 @@ public abstract class DriverQueryPlan {
   protected final Map<String, Double> tableWeights = new HashMap<String, Double>();
 
   /**
-   * The join weight.
-   */
-  protected Double joinWeight;
-
-  /**
-   * The gby weight.
-   */
-  protected Double gbyWeight;
-
-  /**
-   * The filter weight.
-   */
-  protected Double filterWeight;
-
-  /**
-   * The having weight.
-   */
-  protected Double havingWeight;
-
-  /**
-   * The oby weight.
-   */
-  protected Double obyWeight;
-
-  /**
-   * The select weight.
-   */
-  protected Double selectWeight;
-
-  /**
    * The handle.
    */
   protected QueryPrepareHandle handle;
@@ -205,114 +135,6 @@ public abstract class DriverQueryPlan {
   public abstract QueryCost getCost();
 
   /**
-   * Get the number of group by expressions on query
-   *
-   * @return the numGbys
-   */
-  public int getNumGbys() {
-    return numGbys;
-  }
-
-  /**
-   * Set the number of groupbys
-   *
-   * @param numGbys the numGbys to set
-   */
-  protected void setNumGbys(int numGbys) {
-    this.numGbys = numGbys;
-  }
-
-  /**
-   * Get the number of select expressions
-   *
-   * @return the numSels
-   */
-  public int getNumSels() {
-    return numSels;
-  }
-
-  /**
-   * Set the number of select expressions
-   *
-   * @param numSels the numSels to set
-   */
-  protected void setNumSels(int numSels) {
-    this.numSels = numSels;
-  }
-
-  /**
-   * Get the number distinct select expressions
-   *
-   * @return the numSelDi
-   */
-  public int getNumSelDistincts() {
-    return numSelDi;
-  }
-
-  /**
-   * Set the number of distinct select expressions
-   *
-   * @param numSelDi the numSelDi to set
-   */
-  protected void setNumSelDistincts(int numSelDi) {
-    this.numSelDi = numSelDi;
-  }
-
-  /**
-   * Get number of joins in the query
-   *
-   * @return the numJoins
-   */
-  public int getNumJoins() {
-    return numJoins;
-  }
-
-  /**
-   * Set the number of join expressions on query
-   *
-   * @param numJoins the numJoins to set
-   */
-  protected void setNumJoins(int numJoins) {
-    this.numJoins = numJoins;
-  }
-
-  /**
-   * Get the number of having expressions on query
-   *
-   * @return the numHaving
-   */
-  public int getNumHaving() {
-    return numHaving;
-  }
-
-  /**
-   * Set the number of having expressions on query
-   *
-   * @param numHaving the numHaving to set
-   */
-  protected void setNumHaving(int numHaving) {
-    this.numHaving = numHaving;
-  }
-
-  /**
-   * Get the number of order by expressions on query
-   *
-   * @return the numObys
-   */
-  public int getNumOrderBys() {
-    return numObys;
-  }
-
-  /**
-   * Set the number of order by expressions on query
-   *
-   * @param numObys the numObys to set
-   */
-  protected void setNumOrderBys(int numObys) {
-    this.numObys = numObys;
-  }
-
-  /**
    * Get the list of tables to be queried
    *
    * @return the tablesQueried
@@ -340,24 +162,6 @@ public abstract class DriverQueryPlan {
   }
 
   /**
-   * Get the number of filters in query
-   *
-   * @return the numFilters
-   */
-  public int getNumFilters() {
-    return numFilters;
-  }
-
-  /**
-   * Set the number of filters in query
-   *
-   * @param numFilters the numFilters to set
-   */
-  protected void setNumFilters(int numFilters) {
-    this.numFilters = numFilters;
-  }
-
-  /**
    * Get if the query has a subquery or not.
    *
    * @return the hasSubQuery true if query has subquery, false otherwise
@@ -458,114 +262,6 @@ public abstract class DriverQueryPlan {
   }
 
   /**
-   * Get the weight associated with joins
-   *
-   * @return the joinWeight
-   */
-  public Double getJoinWeight() {
-    return joinWeight;
-  }
-
-  /**
-   * Set the weight associated with joins
-   *
-   * @param joinWeight the joinWeight to set
-   */
-  protected void setJoinWeight(Double joinWeight) {
-    this.joinWeight = joinWeight;
-  }
-
-  /**
-   * Set the weight associated with group by expressions.
-   *
-   * @return the gbyWeight
-   */
-  public Double getGbyWeight() {
-    return gbyWeight;
-  }
-
-  /**
-   * Set the weight associated with group by expressions.
-   *
-   * @param gbyWeight the gbyWeight to set
-   */
-  protected void setGbyWeight(Double gbyWeight) {
-    this.gbyWeight = gbyWeight;
-  }
-
-  /**
-   * Set the weight associated with filter expressions.
-   *
-   * @return the filterWeight
-   */
-  public Double getFilterWeight() {
-    return filterWeight;
-  }
-
-  /**
-   * Set the weight associated with filter expressions.
-   *
-   * @param filterWeight the filterWeight to set
-   */
-  protected void setFilterWeight(Double filterWeight) {
-    this.filterWeight = filterWeight;
-  }
-
-  /**
-   * Get the weight associated with order by expressions.
-   *
-   * @return the obyWeight
-   */
-  public Double getObyWeight() {
-    return obyWeight;
-  }
-
-  /**
-   * Set the weight associated with order by expressions.
-   *
-   * @param obyWeight the obyWeight to set
-   */
-  protected void setObyWeight(Double obyWeight) {
-    this.obyWeight = obyWeight;
-  }
-
-  /**
-   * Set the weight associated with having expressions.
-   *
-   * @return the havingWeight
-   */
-  public Double getHavingWeight() {
-    return havingWeight;
-  }
-
-  /**
-   * Set the weight associated with having expressions.
-   *
-   * @param havingWeight the havingWeight to set
-   */
-  protected void setHavingWeight(Double havingWeight) {
-    this.havingWeight = havingWeight;
-  }
-
-  /**
-   * Get the weight associated with select expressions.
-   *
-   * @return the selectWeight
-   */
-  public Double getSelectWeight() {
-    return selectWeight;
-  }
-
-  /**
-   * Set the weight associated with select expressions.
-   *
-   * @param selectWeight the selectWeight to set
-   */
-  protected void setSelectWeight(Double selectWeight) {
-    this.selectWeight = selectWeight;
-  }
-
-  /**
    * @return the handle
    * @deprecated
    */
@@ -592,24 +288,6 @@ public abstract class DriverQueryPlan {
   }
 
   /**
-   * Get number of aggregate expressions.
-   *
-   * @return
-   */
-  public int getNumAggreagateExprs() {
-    return numAggrExprs;
-  }
-
-  /**
-   * Set num aggregate expressions
-   *
-   * @param numAggrs
-   */
-  protected void setNumAggreagateExprs(int numAggrs) {
-    numAggrExprs = numAggrs;
-  }
-
-  /**
    * Get list of partitions queried for each table
    *
    * @return
@@ -625,10 +303,8 @@ public abstract class DriverQueryPlan {
    * @throws UnsupportedEncodingException the unsupported encoding exception
    */
   public QueryPlan toQueryPlan() throws UnsupportedEncodingException {
-    return new QueryPlan(numJoins, numGbys, numSels, numSelDi, numHaving, numObys, numAggrExprs, numFilters,
-      new ArrayList<String>(tablesQueried), hasSubQuery, execMode != null ? execMode.name() : null,
-      scanMode != null ? scanMode.name() : null, tableWeights, joinWeight, gbyWeight, filterWeight, havingWeight,
-      obyWeight, selectWeight, null,
+    return new QueryPlan(new ArrayList<String>(tablesQueried), hasSubQuery, execMode != null ? execMode.name() : null,
+      scanMode != null ? scanMode.name() : null, handle,
       URLEncoder.encode(getPlan(), "UTF-8"), getCost(), false, null);
   }
 }

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/e3e45aef/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
----------------------------------------------------------------------
diff --git a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
index a8df41d..bce0ca9 100644
--- a/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
+++ b/lens-server/src/test/java/org/apache/lens/server/query/TestQueryService.java
@@ -389,7 +389,6 @@ public class TestQueryService extends LensJerseyTest {
 
     final QueryPlan plan = target.request()
       .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), QueryPlan.class);
-    Assert.assertEquals(plan.getNumSels(), 1);
     Assert.assertEquals(plan.getTablesQueried().size(), 1);
     Assert.assertTrue(plan.getTablesQueried().get(0).endsWith(TEST_TABLE.toLowerCase()));
     Assert.assertNull(plan.getPrepareHandle());
@@ -408,7 +407,6 @@ public class TestQueryService extends LensJerseyTest {
 
     final QueryPlan plan2 = ptarget.request().post(Entity.entity(mp2, MediaType.MULTIPART_FORM_DATA_TYPE),
       QueryPlan.class);
-    Assert.assertEquals(plan2.getNumSels(), 1);
     Assert.assertEquals(plan2.getTablesQueried().size(), 1);
     Assert.assertTrue(plan2.getTablesQueried().get(0).endsWith(TEST_TABLE.toLowerCase()));
     Assert.assertNotNull(plan2.getPrepareHandle());
@@ -588,7 +586,6 @@ public class TestQueryService extends LensJerseyTest {
 
     final QueryPlan plan = target.request()
       .post(Entity.entity(mp, MediaType.MULTIPART_FORM_DATA_TYPE), QueryPlan.class);
-    Assert.assertEquals(plan.getNumSels(), 1);
     Assert.assertEquals(plan.getTablesQueried().size(), 1);
     Assert.assertTrue(plan.getTablesQueried().get(0).endsWith(TEST_TABLE.toLowerCase()));
     Assert.assertNotNull(plan.getPrepareHandle());