diff --git a/shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java b/shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java index 6c6ccbc..93dcbd3 100644 --- a/shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java +++ b/shims/0.20S/src/main/java/org/apache/hadoop/hive/shims/Hadoop20SShims.java @@ -73,6 +73,8 @@ import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.tools.distcp2.DistCp; import org.apache.hadoop.tools.distcp2.DistCpOptions; +import org.apache.hadoop.tools.distcp2.DistCpOptions.FileAttribute; + import org.apache.hadoop.util.Progressable; import org.apache.hadoop.util.Tool; import org.apache.hadoop.util.VersionInfo; @@ -672,8 +674,9 @@ public StoragePolicyShim getStoragePolicyShim(FileSystem fs) { public boolean runDistCp(Path src, Path dst, Configuration conf) throws IOException { DistCpOptions options = new DistCpOptions(Collections.singletonList(src), dst); - options.setSkipCRC(true); options.setSyncFolder(true); + options.setSkipCRC(true); + options.preserve(FileAttribute.BLOCKSIZE); try { DistCp distcp = new DistCp(conf, options); distcp.execute(); diff --git a/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java b/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java index 3292cb3..83369ee 100644 --- a/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java +++ b/shims/0.23/src/main/java/org/apache/hadoop/hive/shims/Hadoop23Shims.java @@ -97,6 +97,7 @@ import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.tools.DistCp; import org.apache.hadoop.tools.DistCpOptions; +import org.apache.hadoop.tools.DistCpOptions.FileAttribute; import org.apache.hadoop.util.Progressable; import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.tez.test.MiniTezCluster; @@ -1213,8 +1214,9 @@ public void setStoragePolicy(Path path, StoragePolicyValue policy) public boolean runDistCp(Path src, Path dst, Configuration conf) throws IOException { DistCpOptions options = new DistCpOptions(Collections.singletonList(src), dst); - options.setSkipCRC(true); options.setSyncFolder(true); + options.setSkipCRC(true); + options.preserve(FileAttribute.BLOCKSIZE); try { DistCp distcp = new DistCp(conf, options); distcp.execute();