HADOOP-15850. CopyCommitter#concatFileChunks should check that the blocks per chunk is not 0. Contributed by Ted Yu.
Signed-off-by: Wei-Chiu Chuang <weichiu@apache.org> (cherry picked from commit e2cecb681e2aab8b7c5465719cac53dce407a64c) (cherry picked from commit a7dd244a4995cbf20feb054530fc5913ccf384ac) (cherry picked from commit 84726679f0441bfa0788ad5a5ac2bfa4353afedb)
This commit is contained in:
parent
115c039495
commit
437c5187cd
@ -69,6 +69,7 @@ public class CopyCommitter extends FileOutputCommitter {
|
||||
private boolean overwrite = false;
|
||||
private boolean targetPathExists = true;
|
||||
private boolean ignoreFailures = false;
|
||||
private int blocksPerChunk = 0;
|
||||
|
||||
/**
|
||||
* Create a output committer
|
||||
@ -79,6 +80,9 @@ public class CopyCommitter extends FileOutputCommitter {
|
||||
*/
|
||||
public CopyCommitter(Path outputPath, TaskAttemptContext context) throws IOException {
|
||||
super(outputPath, context);
|
||||
blocksPerChunk = context.getConfiguration().getInt(
|
||||
DistCpOptionSwitch.BLOCKS_PER_CHUNK.getConfigLabel(), 0);
|
||||
LOG.debug("blocks per chunk {}", blocksPerChunk);
|
||||
this.taskAttemptContext = context;
|
||||
}
|
||||
|
||||
@ -93,7 +97,9 @@ public void commitJob(JobContext jobContext) throws IOException {
|
||||
ignoreFailures = conf.getBoolean(
|
||||
DistCpOptionSwitch.IGNORE_FAILURES.getConfigLabel(), false);
|
||||
|
||||
concatFileChunks(conf);
|
||||
if (blocksPerChunk > 0) {
|
||||
concatFileChunks(conf);
|
||||
}
|
||||
|
||||
super.commitJob(jobContext);
|
||||
|
||||
|
@ -82,10 +82,6 @@ public static void destroy() {
|
||||
@Before
|
||||
public void createMetaFolder() {
|
||||
config.set(DistCpConstants.CONF_LABEL_META_FOLDER, "/meta");
|
||||
// Unset listing file path since the config is shared by
|
||||
// multiple tests, and some test doesn't set it, such as
|
||||
// testNoCommitAction, but the distcp code will check it.
|
||||
config.set(DistCpConstants.CONF_LABEL_LISTING_FILE_PATH, "");
|
||||
Path meta = new Path("/meta");
|
||||
try {
|
||||
cluster.getFileSystem().mkdirs(meta);
|
||||
|
Loading…
x
Reference in New Issue
Block a user