apache/hadoop · error · UnsupportedOperationException
Cannot perform unsetStoragePolicy on a non-DistributedFileSy
Error message
Cannot perform unsetStoragePolicy on a non-DistributedFileSystem:
What it means
Error "Cannot perform unsetStoragePolicy on a non-DistributedFileSystem: " thrown in apache/hadoop.
Source
Thrown at hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java:904
@Override
public void unsetStoragePolicy(final Path src)
throws IOException {
statistics.incrementWriteOps(1);
storageStatistics.incrementOpCounter(OpType.UNSET_STORAGE_POLICY);
Path absF = fixRelativePart(src);
new FileSystemLinkResolver<Void>() {
@Override
public Void doCall(final Path p) throws IOException {
dfs.unsetStoragePolicy(getPathName(p));
return null;
}
@Override
public Void next(final FileSystem fs, final Path p) throws IOException {
if (fs instanceof DistributedFileSystem) {
((DistributedFileSystem) fs).unsetStoragePolicy(p);
return null;
} else {
throw new UnsupportedOperationException(
"Cannot perform unsetStoragePolicy on a "
+ "non-DistributedFileSystem: " + src + " -> " + p);
}
}
}.resolve(this, absF);
}
@Override
public BlockStoragePolicySpi getStoragePolicy(Path path) throws IOException {
statistics.incrementReadOps(1);
storageStatistics.incrementOpCounter(OpType.GET_STORAGE_POLICY);
Path absF = fixRelativePart(path);
return new FileSystemLinkResolver<BlockStoragePolicySpi>() {
@Override
public BlockStoragePolicySpi doCall(final Path p) throws IOException {
return getClient().getStoragePolicy(getPathName(p));
}View on GitHub (pinned to 2add963021)
Solutions
- Run unsetStoragePolicy on the real DistributedFileSystem path, not via a symlink to another filesystem.
- Resolve the symlink and issue the operation against the target DistributedFileSystem.
When it happens
Trigger: unsetStoragePolicy is invoked through a symlink that resolves to a non-DistributedFileSystem, which does not support storage policies.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/b12ce3e94169ea4b.
Report an issue: GitHub.