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/06/18 10:53:12 UTC

incubator-lens git commit: LENS-616 : Altering table should not remove existing properties (amareshwari)

Repository: incubator-lens
Updated Branches:
  refs/heads/master 2a61a7b54 -> ead42f8e1


LENS-616 : Altering table should not remove existing properties (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/ead42f8e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/ead42f8e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/ead42f8e

Branch: refs/heads/master
Commit: ead42f8e1929bba9c3e71e9c91f348a54a6f233b
Parents: 2a61a7b
Author: Amareshwari Sriramadasu <am...@apache.org>
Authored: Thu Jun 18 14:22:55 2015 +0530
Committer: Amareshwari Sriramadasu <am...@apache.org>
Committed: Thu Jun 18 14:22:55 2015 +0530

----------------------------------------------------------------------
 .../java/org/apache/lens/cube/metadata/Storage.java  |  5 ++++-
 .../lens/cube/metadata/TestCubeMetastoreClient.java  | 15 +++++++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/ead42f8e/lens-cube/src/main/java/org/apache/lens/cube/metadata/Storage.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/Storage.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/Storage.java
index d3c9974..c754042 100644
--- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/Storage.java
+++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/Storage.java
@@ -129,7 +129,10 @@ public abstract class Storage extends AbstractCubeTable implements PartitionMeta
    */
   public Table getStorageTable(Hive client, Table parent, StorageTableDesc crtTbl) throws HiveException {
     String storageTableName = MetastoreUtil.getStorageTableName(parent.getTableName(), this.getPrefix());
-    Table tbl = client.newTable(storageTableName);
+    Table tbl = client.getTable(storageTableName, false);
+    if (tbl == null) {
+      tbl = client.newTable(storageTableName);
+    }
     tbl.getTTable().setSd(new StorageDescriptor(parent.getTTable().getSd()));
 
     if (crtTbl.getTblProps() != null) {

http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/ead42f8e/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
----------------------------------------------------------------------
diff --git a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
index d481f93..18b6c87 100644
--- a/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
+++ b/lens-cube/src/test/java/org/apache/lens/cube/metadata/TestCubeMetastoreClient.java
@@ -1209,7 +1209,6 @@ public class TestCubeMetastoreClient {
     Assert.assertEquals(timeline1Temp.getClass(), EndsAndHolesPartitionTimeline.class);
     Assert.assertEquals(timeline2Temp.getClass(), StoreAllPartitionTimeline.class);
 
-
     Assert.assertEquals(client.getAllParts(c1TableName).size(), 3);
     Assert.assertEquals(client.getAllParts(c2TableName).size(), 3);
 
@@ -1297,9 +1296,21 @@ public class TestCubeMetastoreClient {
     assertTimeline(timelineEt, timelineEtC2, UpdatePeriod.HOURLY, nowMinus5, nowPlus1, nowMinus4, nowMinus3);
     assertTimeline(timelineIt, timelineItC2, UpdatePeriod.HOURLY, nowMinus5, nowPlus1, nowMinus4, nowMinus3, nowMinus2);
 
-
     assertNoPartitionNamedLatest(c1TableName, partColNames);
     assertSameTimelines(factName, storages, UpdatePeriod.HOURLY, partColNames);
+    Assert.assertEquals(Hive.get(client.getConf()).getTable(c1TableName).getParameters().get(
+      MetastoreUtil.getPartitionTimelineCachePresenceKey()), "true");
+    Assert.assertEquals(Hive.get(client.getConf()).getTable(c2TableName).getParameters().get(
+      MetastoreUtil.getPartitionTimelineCachePresenceKey()), "true");
+
+    // alter tables and see timeline still exists
+    client.alterCubeFactTable(factName, cubeFact, storageTables);
+    assertSameTimelines(factName, storages, UpdatePeriod.HOURLY, partColNames);
+    Assert.assertEquals(Hive.get(client.getConf()).getTable(c1TableName).getParameters().get(
+      MetastoreUtil.getPartitionTimelineCachePresenceKey()), "true");
+    Assert.assertEquals(Hive.get(client.getConf()).getTable(c2TableName).getParameters().get(
+      MetastoreUtil.getPartitionTimelineCachePresenceKey()), "true");
+
 
     client.dropPartition(cubeFact.getName(), c1, timeParts5, null, UpdatePeriod.HOURLY);
     client.dropPartition(cubeFact.getName(), c2, timeParts5, null, UpdatePeriod.HOURLY);