You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by jd...@apache.org on 2015/06/23 12:25:23 UTC
[35/51] [abbrv] incubator-lens git commit: LENS-616 : Altering table
should not remove existing properties (amareshwari)
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/current-release-line
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);