Repository: tajo
Updated Branches:
  refs/heads/branch-0.11.0 becab195c -> 721e1650a


TAJO-1924: Repair partition need to calculate partition volume.


Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/721e1650
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/721e1650
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/721e1650

Branch: refs/heads/branch-0.11.0
Commit: 721e1650a84822e18f65d9f641cbefacad88bf92
Parents: becab19
Author: JaeHwa Jung <[email protected]>
Authored: Tue Oct 13 21:15:31 2015 +0900
Committer: JaeHwa Jung <[email protected]>
Committed: Tue Oct 13 21:15:31 2015 +0900

----------------------------------------------------------------------
 CHANGES                                                       | 2 ++
 .../java/org/apache/tajo/engine/query/TestAlterTable.java     | 6 ++++++
 .../main/java/org/apache/tajo/master/exec/DDLExecutor.java    | 7 +++++--
 3 files changed, 13 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tajo/blob/721e1650/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 2dc2940..8b61371 100644
--- a/CHANGES
+++ b/CHANGES
@@ -285,6 +285,8 @@ Release 0.11.0 - unreleased
 
   BUG FIXES
 
+    TAJO-1924: Repair partition need to calculate partition volume. (jaehwa)
+
     TAJO-1900: When a record column and its child column are retrieved 
together, 
     the record column might not be inferred as record type properly. (jihoon)
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/721e1650/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
----------------------------------------------------------------------
diff --git 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
index 58ceb74..4c9f367 100644
--- 
a/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
+++ 
b/tajo-core-tests/src/test/java/org/apache/tajo/engine/query/TestAlterTable.java
@@ -478,6 +478,12 @@ public class TestAlterTable extends QueryTestCaseBase {
 
     verifyPartitionCount(databaseName, tableName, 5);
 
+    // Check the volume of partition
+    List<CatalogProtos.PartitionDescProto> partitions = 
catalog.getPartitionsOfTable(databaseName, tableName);
+    for (CatalogProtos.PartitionDescProto eachPartition : partitions) {
+      assertTrue(eachPartition.getNumBytes() > 0L);
+    }
+
     // Remove all partitions
     dropPartitions(databaseName, tableName, 
tableDesc.getPartitionMethod().getExpressionSchema().getAllColumns());
 

http://git-wip-us.apache.org/repos/asf/tajo/blob/721e1650/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
----------------------------------------------------------------------
diff --git 
a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java 
b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
index 588ea1f..a604f94 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/exec/DDLExecutor.java
@@ -632,7 +632,7 @@ public class DDLExecutor {
 
       // if there is partition column in the path
       if (startIdx > -1) {
-        PartitionDescProto targetPartition = getPartitionDesc(tablePath, 
filteredPath);
+        PartitionDescProto targetPartition = getPartitionDesc(tablePath, 
filteredPath, fs);
         if 
(!existingPartitionNames.contains(targetPartition.getPartitionName())) {
           if (LOG.isDebugEnabled()) {
             LOG.debug("Partitions not in CatalogStore:" + 
targetPartition.getPartitionName());
@@ -658,7 +658,7 @@ public class DDLExecutor {
     LOG.info("Total added partitions to CatalogStore: " + 
targetPartitions.size());
   }
 
-  private PartitionDescProto getPartitionDesc(Path tablePath, Path 
partitionPath) throws IOException {
+  private PartitionDescProto getPartitionDesc(Path tablePath, Path 
partitionPath, FileSystem fs) throws IOException {
     String partitionName = 
StringUtils.unescapePathName(partitionPath.toString());
 
     int startIndex = partitionName.indexOf(tablePath.toString()) + 
tablePath.toString().length();
@@ -682,6 +682,9 @@ public class DDLExecutor {
 
     builder.setPath(partitionPath.toString());
 
+    ContentSummary contentSummary = fs.getContentSummary(partitionPath);
+    builder.setNumBytes(contentSummary.getLength());
+
     return builder.build();
   }
 

Reply via email to