Repository: carbondata
Updated Branches:
  refs/heads/branch-1.3 aff3b39ef -> 7beef112b


[CARBONDATA-2183] Fix compaction when segment is delete during compaction and 
remove unnecessary parameters in functions

Problem:
when compaction is started and job is running, and parallelly the segment 
involved in the compaction is deleted using DeleteSegmentByID, then
compaction is success.

Solution:
when compaction is started and job is running, and parallelly the segment 
involved in the compaction is deleted using DeleteSegmentByID, then
compaction should be aborted and failed. and proper error message should thrown 
to user. THis PR also removes the unnecessary parameters in functions.

This closes #1979


Project: http://git-wip-us.apache.org/repos/asf/carbondata/repo
Commit: http://git-wip-us.apache.org/repos/asf/carbondata/commit/7beef112
Tree: http://git-wip-us.apache.org/repos/asf/carbondata/tree/7beef112
Diff: http://git-wip-us.apache.org/repos/asf/carbondata/diff/7beef112

Branch: refs/heads/branch-1.3
Commit: 7beef112b59c9ccfe14baca87ae841cfe77e4dce
Parents: aff3b39
Author: akashrn5 <akashnilu...@gmail.com>
Authored: Wed Feb 14 15:45:04 2018 +0530
Committer: manishgupta88 <tomanishgupt...@gmail.com>
Committed: Fri Feb 23 12:32:07 2018 +0530

----------------------------------------------------------------------
 .../core/datastore/filesystem/AbstractDFSCarbonFile.java       | 5 -----
 .../carbondata/core/datastore/filesystem/CarbonFile.java       | 3 ---
 .../carbondata/core/datastore/filesystem/LocalCarbonFile.java  | 5 -----
 .../org/apache/carbondata/core/datastore/impl/FileFactory.java | 5 -----
 .../org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala | 6 +++++-
 5 files changed, 5 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/carbondata/blob/7beef112/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/AbstractDFSCarbonFile.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/AbstractDFSCarbonFile.java
 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/AbstractDFSCarbonFile.java
index 7b634d2..927cef5 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/AbstractDFSCarbonFile.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/AbstractDFSCarbonFile.java
@@ -461,11 +461,6 @@ public abstract  class AbstractDFSCarbonFile implements 
CarbonFile {
   }
 
   @Override
-  public void setPermission(String directoryPath, FsPermission permission, 
String username,
-      String group) throws IOException {
-  }
-
-  @Override
   public CarbonFile[] listFiles() {
     FileStatus[] listStatus = null;
     try {

http://git-wip-us.apache.org/repos/asf/carbondata/blob/7beef112/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/CarbonFile.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/CarbonFile.java
 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/CarbonFile.java
index 5f172fc..80c0510 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/CarbonFile.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/CarbonFile.java
@@ -135,9 +135,6 @@ public interface CarbonFile {
 
   boolean createNewLockFile(String filePath, FileFactory.FileType fileType) 
throws IOException;
 
-  void setPermission(String directoryPath, FsPermission permission, String 
username, String group)
-      throws IOException;
-
   /**
    * Returns locations of the file
    * @return

http://git-wip-us.apache.org/repos/asf/carbondata/blob/7beef112/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
index 5df5a81..24022ad 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/datastore/filesystem/LocalCarbonFile.java
@@ -419,11 +419,6 @@ public class LocalCarbonFile implements CarbonFile {
     return file.createNewFile();
   }
 
-  @Override
-  public void setPermission(String directoryPath, FsPermission permission, 
String username,
-      String group) throws IOException {
-  }
-
   @Override public CarbonFile[] locationAwareListFiles() throws IOException {
     return listFiles();
   }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/7beef112/core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java 
b/core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java
index e6fbd04..38ed2b7 100644
--- 
a/core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java
+++ 
b/core/src/main/java/org/apache/carbondata/core/datastore/impl/FileFactory.java
@@ -448,9 +448,4 @@ public final class FileFactory {
     }
   }
 
-  public static void setPermission(String directoryPath, FsPermission 
permission, String username,
-      String group) throws IOException {
-    getCarbonFile(directoryPath).setPermission(directoryPath, permission, 
username, group);
-  }
-
 }

http://git-wip-us.apache.org/repos/asf/carbondata/blob/7beef112/integration/spark2/src/main/scala/org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala
----------------------------------------------------------------------
diff --git 
a/integration/spark2/src/main/scala/org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala
 
b/integration/spark2/src/main/scala/org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala
index bfe4e41..e7bdff8 100644
--- 
a/integration/spark2/src/main/scala/org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala
+++ 
b/integration/spark2/src/main/scala/org/apache/carbondata/spark/rdd/CarbonTableCompactor.scala
@@ -271,7 +271,11 @@ class CarbonTableCompactor(carbonLoadModel: 
CarbonLoadModel,
           false
       }
       operationContext.setProperty("commitComplete", commitComplete)
-      if (!statusFileUpdation && !commitComplete) {
+      // here either of the conditions can be true, when delete segment is 
fired after compaction
+      // has started, statusFileUpdation will be false , but at the same time 
commitComplete can be
+      // true because compaction for all datamaps will be finished at a time 
to the maximum level
+      // possible (level 1, 2 etc). so we need to check for either condition
+      if (!statusFileUpdation || !commitComplete) {
         LOGGER.audit(s"Compaction request failed for table ${ 
carbonLoadModel.getDatabaseName }." +
                      s"${ carbonLoadModel.getTableName }")
         LOGGER.error(s"Compaction request failed for table ${ 
carbonLoadModel.getDatabaseName }." +

Reply via email to