apache/hadoop · error · IllegalArgumentException
-tmp work-path can only be specified along with -atomic
Error message
-tmp work-path can only be specified along with -atomic
What it means
Error "-tmp work-path can only be specified along with -atomic" thrown in apache/hadoop.
Source
Thrown at hadoop-tools/hadoop-distcp/src/main/java/org/apache/hadoop/tools/DistCpOptions.java:595
LOG.info("Enabling preserving blocksize since "
+ DistCpOptionSwitch.BLOCKS_PER_CHUNK.getSwitch() + " is passed.");
preserve(FileAttribute.BLOCKSIZE);
LOG.info("Set " + DistCpOptionSwitch.APPEND.getSwitch()
+ " to false since " + DistCpOptionSwitch.BLOCKS_PER_CHUNK.getSwitch()
+ " is passed.");
this.append = false;
}
private void validate() {
if ((useDiff || useRdiff) && deleteMissing) {
// -delete and -diff/-rdiff are mutually exclusive.
throw new IllegalArgumentException("-delete and -diff/-rdiff are "
+ "mutually exclusive. The -delete option will be ignored.");
}
if (!atomicCommit && atomicWorkPath != null) {
throw new IllegalArgumentException(
"-tmp work-path can only be specified along with -atomic");
}
if (syncFolder && atomicCommit) {
throw new IllegalArgumentException("Atomic commit can't be used with "
+ "sync folder or overwrite options");
}
if (deleteMissing && !(overwrite || syncFolder)) {
throw new IllegalArgumentException("Delete missing is applicable "
+ "only with update or overwrite options");
}
if (overwrite && syncFolder) {
throw new IllegalArgumentException("Overwrite and update options are "
+ "mutually exclusive");
}
View on GitHub (pinned to 2add963021)
Solutions
- Add -atomic when specifying -tmp, or drop -tmp.
- Use a default temp path under the target if atomic commit is not required.
When it happens
Trigger: distcp is given a -tmp work path without the -atomic option.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/203b6d7235ffd285.
Report an issue: GitHub.