HADOOP-19778. [ABFS] Removing Deprecated Wasb Code#8207
HADOOP-19778. [ABFS] Removing Deprecated Wasb Code#8207anujmodi2021 wants to merge 7 commits intoapache:trunkfrom
Conversation
cnauroth
left a comment
There was a problem hiding this comment.
I'm in favor of removal for 3.5.0. I'd like at least one other committer to chime in though, as I'm no longer actively using any of the Azure FileSystems.
Will the strategy here be to remove the module entirely, or leave behind an empty placeholder module like in hadoop-openstack/pom.xml? Either way, I think the PR likely needs some additional pom.xml changes.
Pre-submit infrastructure appears to be very unhealthy at the moment. The automatic run failed, and when I retried, it failed for the same reason:
hudson.remoting.ProxyException: java.nio.file.FileSystemException: /home/jenkins/jenkins-agent/workspace/hadoop-multibranch_PR-8207: Read-only file system
cnauroth
left a comment
There was a problem hiding this comment.
Two more thoughts:
- You probably want to remove the documentation too (and clean up links to that documentation).
- Can you please edit the release note field in HADOOP-19778 to mention the removal, as it will be a backward-incompatible change?
|
Hi @cnauroth Regarding the strategy here, we are going to keep a placeholder implementation of WASB File System for any user using "wasb(s)://" schema. There is no separate pom for wasb alone, it is shared with ABFS So pom will continue to live but with settings only relevant to ABFS. As per your suggestion I have updated the documentation and sites to refelct this change. |
|
Hi @steveloughran Thanks for all the efforts |
| createPermissionStatus(FsPermission.getDefault())); | ||
| } | ||
| public static final String ERROR_MESSAGE = | ||
| "WASB Driver using wasb(s) schema is No longer Supported. " |
There was a problem hiding this comment.
Upper Case fix: is no longer supported
| } | ||
| } | ||
| public NativeAzureFileSystem() { | ||
| // set store in initialize() |
There was a problem hiding this comment.
I think this comment is redundant, we can remove this.
| workingDir = makeAbsolute(newDir); | ||
| public void initialize(URI uri, Configuration conf) | ||
| throws IOException, IllegalArgumentException { | ||
| throw new IllegalArgumentException(ERROR_MESSAGE); |
There was a problem hiding this comment.
Instead of IllegalArgumentException, should we use UnsupportedOperationException?
| } else { | ||
| store.changePermissionStatus(key, newPermissionStatus); | ||
| } | ||
| return null; |
There was a problem hiding this comment.
Should we throw an error instead of just returning null at all places? With null we are suppressing the exception.
|
|
||
| org.apache.hadoop.fs.azurebfs.security.AbfsDelegationTokenIdentifier | ||
| org.apache.hadoop.fs.azure.security.WasbDelegationTokenIdentifier No newline at end of file | ||
| org.apache.hadoop.fs.azurebfs.security.AbfsDelegationTokenIdentifier No newline at end of file |
|
|
||
| org.apache.hadoop.fs.azurebfs.security.AbfsTokenRenewer | ||
| org.apache.hadoop.fs.azure.security.WasbTokenRenewer No newline at end of file | ||
| org.apache.hadoop.fs.azurebfs.security.AbfsTokenRenewer No newline at end of file |
| @@ -107,69 +107,6 @@ public void testBasicRead() throws Exception { | |||
| } | |||
| } | |||
|
|
|||
| /** | |||
There was a problem hiding this comment.
Why would we remove this test ?
There was a problem hiding this comment.
This was using WASB Client. Without wasb client there is nothing left in this test to assert
| + FS_AZURE_SCALE_TEST_ENABLED, | ||
| enabled); | ||
| } | ||
| } |
| public Path getWorkingDirectory() { | ||
| return workingDir; | ||
| public String getScheme() { | ||
| return "wasb"; |
There was a problem hiding this comment.
can come from a constant
|
|
||
| # Azure Blob Storage Support by Deprecated WASB Driver | ||
|
|
||
| ### WASB Driver has been deprecated and removed from official hadoop releases starting from hadoop-3.5.0. |
There was a problem hiding this comment.
I think we can remove this file fully.
| + FS_AZURE_SCALE_TEST_ENABLED, | ||
| enabled); | ||
| } | ||
| } |
| big data analytics, built on top of Azure Blob Storage. The ABFS and ABFSS | ||
| schemes target the ADLS Gen 2 REST API now having support for both HNS and FNS Accounts. | ||
| ADLS Gen 2 with HNS Enabled using DFS Endpoint offers better performance and | ||
| scalability. ADLS Gen 2 also offers authentication and authorization compatible |
============================================================
|
| FileSystem.newInstance(uri, conf).close(); | ||
| }); | ||
| Assertions.assertThat(ex.getMessage()) | ||
| .contains("WASB Driver using wasb(s) schema is No longer Supported."); |
There was a problem hiding this comment.
Do these assertions pass now? There was earlier code review feedback to fix capitalization ("is no longer supported"), but it wasn't changed here.
There was a problem hiding this comment.
My bad. Thanks for thorough review
Our test suite do not run WASB tests hence it was not caught.
cnauroth
left a comment
There was a problem hiding this comment.
+1 pending pre-commit. Thank you!
Unfortunately, it looks like we continue to have some infrastructure problems with pre-commit:
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8207/8/consoleText
java.nio.file.FileSystemException: /home/jenkins/jenkins-agent/workspace/hadoop-multibranch_PR-8207: Read-only file system
We might need to chase this down with ASF infra.
Thanks @cnauroth We need this to be merged before 3.5.0 release. It would be really helpful if you can guide me on how to get this resolved? |
|
@steveloughran |
JIRA: https://issues.apache.org/jira/browse/HADOOP-19778
Description of PR
WASB Driver has been deprecated.
Correspondinf support for FNS accounts using Blob Endpoint APIs is added to ABFS Driver itself.
ABFS driver for FNS account is more robust, performant and TPS Optimized as compared to WASB.
Moving ahead ABFS Driver will be the only supported hadoop connector for ADLS Gen 2 accounts (HNS and FNS).
To reduce maintainance overhead, we propose to remove WASB Driver code completely.
How was this patch tested
New tests added to make sure any attempt to use WASB fails with relevant message.