Repository: lens Updated Branches: refs/heads/master e2d6cbb94 -> 01854d38b
LENS-1446: Cube latestdate api broken after virtual fact Project: http://git-wip-us.apache.org/repos/asf/lens/repo Commit: http://git-wip-us.apache.org/repos/asf/lens/commit/01854d38 Tree: http://git-wip-us.apache.org/repos/asf/lens/tree/01854d38 Diff: http://git-wip-us.apache.org/repos/asf/lens/diff/01854d38 Branch: refs/heads/master Commit: 01854d38ba4e2c1502008d2f388d00fcf5836080 Parents: e2d6cbb Author: Rajitha R <rajitha....@gmail.com> Authored: Thu Jun 29 17:23:26 2017 +0530 Committer: Rajat Khandelwal <rajatgupt...@gmail.com> Committed: Thu Jun 29 17:23:26 2017 +0530 ---------------------------------------------------------------------- .../apache/lens/cli/commands/LensSchemaCommands.java | 2 +- .../lens/cube/metadata/CubeMetastoreClient.java | 15 ++++++++------- .../org/apache/lens/cube/parse/StorageCandidate.java | 8 ++++---- 3 files changed, 13 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lens/blob/01854d38/lens-cli/src/main/java/org/apache/lens/cli/commands/LensSchemaCommands.java ---------------------------------------------------------------------- diff --git a/lens-cli/src/main/java/org/apache/lens/cli/commands/LensSchemaCommands.java b/lens-cli/src/main/java/org/apache/lens/cli/commands/LensSchemaCommands.java index aca1cf9..cc184a8 100644 --- a/lens-cli/src/main/java/org/apache/lens/cli/commands/LensSchemaCommands.java +++ b/lens-cli/src/main/java/org/apache/lens/cli/commands/LensSchemaCommands.java @@ -113,7 +113,7 @@ public class LensSchemaCommands implements CommandMarker { CREATE_COMMAND_MAP.put(XFactTable.class, "create fact --path %s"); UPDATE_COMMAND_MAP.put(XFactTable.class, "update fact --fact_name %s --path %s"); CREATE_COMMAND_MAP.put(XVirtualFactTable.class, "create fact --path %s"); - UPDATE_COMMAND_MAP.put(XVirtualFactTable.class, "update fact --name %s --path %s"); + UPDATE_COMMAND_MAP.put(XVirtualFactTable.class, "update fact --fact_name %s --path %s"); CREATE_COMMAND_MAP.put(XSegmentation.class, "create segmentation --path %s"); UPDATE_COMMAND_MAP.put(XSegmentation.class, "update segmentation --name %s --path %s"); } http://git-wip-us.apache.org/repos/asf/lens/blob/01854d38/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java b/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java index 5c05e53..3952696 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/metadata/CubeMetastoreClient.java @@ -161,7 +161,8 @@ public class CubeMetastoreClient { for (FactTable fact : getAllFacts(cube)) { for (String storage : fact.getStorages()) { for (UpdatePeriod updatePeriod : fact.getUpdatePeriods().get(storage)) { - PartitionTimeline timeline = partitionTimelineCache.get(fact.getName(), storage, updatePeriod, partCol); + PartitionTimeline timeline = partitionTimelineCache.get(fact.getSourceFactName(), storage, updatePeriod, + partCol); if (timeline != null) {// this storage table is partitioned by partCol or not. Date latest = timeline.getLatestDate(); if (latest != null && latest.after(max)) { @@ -1078,8 +1079,8 @@ public class CubeMetastoreClient { List<Partition> partsAdded = new ArrayList<>(); // first update in memory, then add to hive table's partitions. delete is reverse. partitionTimelineCache.updateForAddition(factOrDimTable, storageName, updatePeriod, - getTimePartSpecs(storagePartitionDescs, getStorageTableStartDate(storageTableName, factOrDimTable), - getStorageTableEndDate(storageTableName, factOrDimTable))); + getTimePartSpecs(storagePartitionDescs, getStorageTableStartDate(storageTableName, + getFactTable(factOrDimTable)), getStorageTableEndDate(storageTableName, getFactTable(factOrDimTable)))); // Adding partition in fact table. if (storagePartitionDescs.size() > 0) { partsAdded = getStorage(storageName).addPartitions(getClient(), factOrDimTable, updatePeriod, @@ -1094,17 +1095,17 @@ public class CubeMetastoreClient { } } - public Date getStorageTableStartDate(String storageTable, String factTableName) + public Date getStorageTableStartDate(String storageTable, FactTable factTableName) throws LensException { List<Date> startDates = getStorageTimes(storageTable, MetastoreUtil.getStoragetableStartTimesKey()); - startDates.add(getFactTable(factTableName).getStartTime()); + startDates.add(factTableName.getStartTime()); return Collections.max(startDates); } - public Date getStorageTableEndDate(String storageTable, String factTableName) + public Date getStorageTableEndDate(String storageTable, FactTable factTableName) throws LensException { List<Date> endDates = getStorageTimes(storageTable, MetastoreUtil.getStoragetableEndTimesKey()); - endDates.add((getFactTable(factTableName)).getEndTime()); + endDates.add(factTableName.getEndTime()); return Collections.min(endDates); } http://git-wip-us.apache.org/repos/asf/lens/blob/01854d38/lens-cube/src/main/java/org/apache/lens/cube/parse/StorageCandidate.java ---------------------------------------------------------------------- diff --git a/lens-cube/src/main/java/org/apache/lens/cube/parse/StorageCandidate.java b/lens-cube/src/main/java/org/apache/lens/cube/parse/StorageCandidate.java index c6ef6d2..2b1add3 100644 --- a/lens-cube/src/main/java/org/apache/lens/cube/parse/StorageCandidate.java +++ b/lens-cube/src/main/java/org/apache/lens/cube/parse/StorageCandidate.java @@ -252,8 +252,8 @@ public class StorageCandidate implements Candidate, CandidateTable { List<Date> startDates = new ArrayList<>(); List<Date> endDates = new ArrayList<>(); for (String storageTablePrefix : getValidStorageTableNames()) { - startDates.add(getCubeMetastoreClient().getStorageTableStartDate(storageTablePrefix, fact.getSourceFactName())); - endDates.add(getCubeMetastoreClient().getStorageTableEndDate(storageTablePrefix, fact.getSourceFactName())); + startDates.add(getCubeMetastoreClient().getStorageTableStartDate(storageTablePrefix, fact)); + endDates.add(getCubeMetastoreClient().getStorageTableEndDate(storageTablePrefix, fact)); } this.startTime = Collections.min(startDates); this.endTime = Collections.max(endDates); @@ -891,7 +891,7 @@ public class StorageCandidate implements Candidate, CandidateTable { return this.startTime; } return getCubeMetastoreClient().getStorageTableStartDate( - getCubeMetastoreClient().getStorageTableName(fact.getSourceFactName(), storageName, interval), fact.getName()); + getCubeMetastoreClient().getStorageTableName(fact.getSourceFactName(), storageName, interval), fact); } private Date getStorageTableEndDate(UpdatePeriod interval) throws LensException { @@ -900,7 +900,7 @@ public class StorageCandidate implements Candidate, CandidateTable { return this.endTime; } return getCubeMetastoreClient().getStorageTableEndDate( - getCubeMetastoreClient().getStorageTableName(fact.getSourceFactName(), storageName, interval), fact.getName()); + getCubeMetastoreClient().getStorageTableName(fact.getSourceFactName(), storageName, interval), fact); }