apache/hadoop · error · UnsupportedOperationException
WASB Driver using wasb(s) schema is no longer supported. Ins
Error message
WASB Driver using wasb(s) schema is no longer supported. Instead use ABFS Driver for FNS account by changing the scheme to abfs(s).For more details contact askabfs@microsoft.com
What it means
NativeAzureFileSystem is the tombstone for the removed WASB driver (wasb:// and wasbs://, blob-based Azure storage, also registered via the Secure subclass). Its initialize() throws UnsupportedOperationException with WASB_INIT_ERROR_MESSAGE, directing users to the ABFS driver (abfs:// / abfss://) on a hierarchical-namespace (ADLS Gen2) account. Any attempt to create the filesystem - FileSystem.get / newInstance on a wasb URL, 'hadoop fs -ls wasb://...' - fails here before any storage call is made.
Source
Thrown at hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azure/NativeAzureFileSystem.java:74
public static class Secure extends NativeAzureFileSystem {
@Override
public String getScheme() {
return SECURE_SCHEME;
}
}
/**
* Fails Any Attempt to use WASB FileSystem Implementation.
*
* @param uri the URI of the file system
* @param conf the configuration
* @throws IOException on IO problems
* @throws UnsupportedOperationException if the URI is invalid
*/
@Override
public void initialize(URI uri, Configuration conf)
throws IOException, UnsupportedOperationException {
throw new UnsupportedOperationException(WASB_INIT_ERROR_MESSAGE);
}
@Override
public String getScheme() {
return SCHEME;
}
@Override
public URI getUri() {
return null;
}
@Override
public FSDataInputStream open(final Path path, final int i)
throws IOException {
throw new UnsupportedOperationException(WASB_INIT_ERROR_MESSAGE);
}
View on GitHub (pinned to 2add963021)
Solutions
- Change URIs from wasb:// to abfs:// and wasbs:// to abfss:// (e.g. abfs://container@account.dfs.core.windows.net/path)
- Ensure the storage account has the hierarchical namespace (HNS / ADLS Gen2) enabled - ABFS requires it; migrate blob data with AzCopy or an Azure data-migration tool where needed
- Replace WASB-era fs.azure.* keys with the ABFS authentication settings (fs.azure.account.auth.type, fs.azure.account.key.*, or OAuth) in core-site.xml
- Sweep code, job definitions, Hive metastore locations and config files for 'wasb://' and 'wasbs://' to catch every reference
Example fix
# before hadoop fs -ls wasb://data@oldaccount.blob.core.windows.net/logs # after hadoop fs -ls abfs://data@newaccount.dfs.core.windows.net/logs
Defensive patterns
Strategy: validation
Validate before calling
String scheme = path.toUri().getScheme();
if ("wasb".equals(scheme) || "wasbs".equals(scheme)) {
throw new IllegalArgumentException(
"WASB removed: rewrite " + path + " to abfs(s):// on an ADLS Gen2 account");
} Try / catch
try {
FileSystem fs = path.getFileSystem(conf);
} catch (UnsupportedOperationException e) {
if (e.getMessage().contains("ABFS Driver")) {
// rewrite wasb:// -> abfs:// and retry with ABFS config
}
} Prevention
- Fail fast on wasb/wasbs schemes at job submission time with a clear migration message
- Sweep configs, metastores and job definitions for wasb:// during Hadoop 3.4+ upgrade planning
- Enable hierarchical namespace on target storage accounts before cutover to ABFS
When it happens
Trigger: FileSystem.get(new Path("wasb://container@account.blob.core.windows.net/dir")); 'hadoop fs' commands on wasb:// or wasbs:// URLs; distcp, Hive or Spark jobs carrying wasb paths running on Hadoop 3.4.0 or later.
Common situations: Upgrading a cluster from Hadoop 3.3.x (or an older Azure HDInsight image) where WASB worked; legacy pipelines, cron jobs and metastore locations still holding wasb:// URLs; fs.azure.* WASB configuration carried forward into the new cluster.
Related errors
- "%s" must be set for user-bound SAS auth type.
- Unable to load user-bound SAS token provider class: {e}
- ABFS endpoint is not set correctly : %s, Do not specify sche
- EncryptionContext not present in GetPathStatus response
- EncryptionContext not present in GetPathStatus response head
AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22).
Data as JSON: /api/errors/30b3ba44eda623c2.
Report an issue: GitHub.