[
https://issues.apache.org/jira/browse/HDFS-17881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18087806#comment-18087806
]
ASF GitHub Bot commented on HDFS-17881:
---------------------------------------
hadoop-yetus commented on PR #8536:
URL: https://github.com/apache/hadoop/pull/8536#issuecomment-4665664185
:broken_heart: **-1 overall**
| Vote | Subsystem | Runtime | Logfile | Comment |
|:----:|----------:|--------:|:--------:|:-------:|
| +0 :ok: | reexec | 7m 5s | | Docker mode activated. |
|||| _ Prechecks _ |
| +1 :green_heart: | dupname | 0m 0s | | No case conflicting files
found. |
| +0 :ok: | codespell | 0m 0s | | codespell was not available. |
| +0 :ok: | detsecrets | 0m 0s | | detect-secrets was not available.
|
| +1 :green_heart: | @author | 0m 0s | | The patch does not contain
any @author tags. |
| -1 :x: | test4tests | 0m 0s | | The patch doesn't appear to include
any new or modified tests. Please justify why no new tests are needed for this
patch. Also please list what manual steps were performed to verify this patch.
|
|||| _ trunk Compile Tests _ |
| +1 :green_heart: | mvninstall | 28m 44s | | trunk passed |
| +1 :green_heart: | compile | 0m 31s | | trunk passed with JDK
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | compile | 0m 34s | | trunk passed with JDK
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | checkstyle | 0m 28s | | trunk passed |
| +1 :green_heart: | mvnsite | 0m 35s | | trunk passed |
| +1 :green_heart: | javadoc | 0m 29s | | trunk passed with JDK
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | javadoc | 0m 30s | | trunk passed with JDK
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | spotbugs | 0m 52s | | trunk passed |
| +1 :green_heart: | shadedclient | 16m 52s | | branch has no errors
when building and testing our client artifacts. |
|||| _ Patch Compile Tests _ |
| +1 :green_heart: | mvninstall | 0m 25s | | the patch passed |
| +1 :green_heart: | compile | 0m 23s | | the patch passed with JDK
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | javac | 0m 23s | | the patch passed |
| +1 :green_heart: | compile | 0m 24s | | the patch passed with JDK
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | javac | 0m 24s | | the patch passed |
| +1 :green_heart: | blanks | 0m 0s | | The patch has no blanks
issues. |
| -0 :warning: | checkstyle | 0m 18s |
[/results-checkstyle-hadoop-tools_hadoop-azure.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/3/artifact/out/results-checkstyle-hadoop-tools_hadoop-azure.txt)
| hadoop-tools/hadoop-azure: The patch generated 1 new + 1 unchanged - 0
fixed = 2 total (was 1) |
| +1 :green_heart: | mvnsite | 0m 25s | | the patch passed |
| +1 :green_heart: | javadoc | 0m 21s | | the patch passed with JDK
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | javadoc | 0m 22s | | the patch passed with JDK
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| +1 :green_heart: | spotbugs | 0m 52s | | the patch passed |
| +1 :green_heart: | shadedclient | 16m 9s | | patch has no errors
when building and testing our client artifacts. |
|||| _ Other Tests _ |
| +1 :green_heart: | unit | 1m 51s | | hadoop-azure in the patch
passed. |
| +1 :green_heart: | asflicense | 0m 24s | | The patch does not
generate ASF License warnings. |
| | | 80m 9s | | |
| Subsystem | Report/Notes |
|----------:|:-------------|
| Docker | ClientAPI=1.54 ServerAPI=1.54 base:
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/3/artifact/out/Dockerfile
|
| GITHUB PR | https://github.com/apache/hadoop/pull/8536 |
| Optional Tests | dupname asflicense compile javac javadoc mvninstall
mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets |
| uname | Linux 3ebc1c12c932 5.15.0-179-generic #189-Ubuntu SMP Tue May 5
18:20:56 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux |
| Build tool | maven |
| Personality | dev-support/bin/hadoop.sh |
| git revision | trunk / 0864c911486839b9414f66fdddc7b4c6f98bbc3b |
| Default Java | Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| Multi-JDK versions |
/usr/lib/jvm/java-21-openjdk-amd64:Ubuntu-21.0.11+10-1-24.04.2-Ubuntu
/usr/lib/jvm/java-17-openjdk-amd64:Ubuntu-17.0.19+10-1-24.04.2-Ubuntu |
| Test Results |
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/3/testReport/ |
| Max. process+thread count | 615 (vs. ulimit of 10000) |
| modules | C: hadoop-tools/hadoop-azure U: hadoop-tools/hadoop-azure |
| Console output |
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/3/console |
| versions | git=2.43.0 maven=3.9.15 spotbugs=4.9.7 |
| Powered by | Apache Yetus 0.14.1 https://yetus.apache.org |
This message was automatically generated.
> Hadoop file system can not browse the folder that has children folder with
> colon in Windows
> -------------------------------------------------------------------------------------------
>
> Key: HDFS-17881
> URL: https://issues.apache.org/jira/browse/HDFS-17881
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: fs/azure
> Affects Versions: 3.4.2
> Reporter: Toan Le
> Priority: Critical
> Labels: azure, azureblob, commons, hadoop-common,
> pull-request-available
> Attachments: Screenshot 2026-02-11 at 11.40.36.png,
> test_hadoop_azure.zip
>
>
> Hi guys,
> I am facing an issue when browsing the children's folder name with a colon in
> ADLS.
> Here is my case. My root folder in ADLS contains a folder with a name that
> includes a colon.
> When I used the Hadoop file system. I got this error on Windows:
> {code:java}
> java -cp ".;./*" AbfsListStatusTest.java [main] WARN
> org.apache.hadoop.util.NativeCodeLoader - Unable to load native-hadoop
> library for your platform... using builtin-java classes where applicable
> [main] ERROR org.apache.hadoop.fs.azurebfs.services.AbfsClient - Unable to
> deserialize list results for Uri
> abfss://<containerName>@<storeAccountName>.dfs.core.windows.net
> java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal
> character in scheme name at index 0: \FestSpecial: at
> org.apache.hadoop.fs.Path.initialize(Path.java:264) at
> org.apache.hadoop.fs.Path.<init>(Path.java:222) at
> org.apache.hadoop.fs.azurebfs.services.AbfsClient.getVersionedFileStatusFromEntry(AbfsClient.java:1846)
> at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.parseListPathResults(AbfsDfsClient.java:1373)
> at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.listPath(AbfsDfsClient.java:347)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1278)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1242)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1224)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem.listStatus(AzureBlobFileSystem.java:713)
> at AbfsListStatusOAuthTest.main(AbfsListStatusTest.java:45)
> at
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> at java.base/java.lang.reflect.Method.invoke(Method.java:580)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:484)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:208)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:135)
> Caused by: java.net.URISyntaxException: Illegal character in scheme name at
> index 0: \FestSpecial:
> at java.base/java.net.URI$Parser.fail(URI.java:2995)
> at java.base/java.net.URI$Parser.checkChars(URI.java:3166)
> at java.base/java.net.URI$Parser.checkChar(URI.java:3176)
> at java.base/java.net.URI$Parser.parse(URI.java:3191)
> at java.base/java.net.URI.<init>(URI.java:807)
> at org.apache.hadoop.fs.Path.initialize(Path.java:261)
> ... 14 more Exception in thread "main" Status code: -1 error code: null error
> message: Parsing of Json List Response Failed in
> DfsClient.java.lang.IllegalArgumentException: java.net.URISyntaxException:
> Illegal character in scheme name at index 0: \FestSpecial: at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.parseListPathResults(AbfsDfsClient.java:1390)
> at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.listPath(AbfsDfsClient.java:347)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1278)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1242)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1224)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem.listStatus(AzureBlobFileSystem.java:713)
> at AbfsListStatusOAuthTest.main(AbfsListStatusTest.java:45) Caused
> by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Illegal
> character in scheme name at index 0: \FestSpecial: at
> org.apache.hadoop.fs.Path.initialize(Path.java:264) at
> org.apache.hadoop.fs.Path.<init>(Path.java:222) at
> org.apache.hadoop.fs.azurebfs.services.AbfsClient.getVersionedFileStatusFromEntry(AbfsClient.java:1846)
> at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.parseListPathResults(AbfsDfsClient.java:1373)
> at
> org.apache.hadoop.fs.azurebfs.services.AbfsDfsClient.listPath(AbfsDfsClient.java:347)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1278)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1242)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystemStore.listStatus(AzureBlobFileSystemStore.java:1224)
> at
> org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem.listStatus(AzureBlobFileSystem.java:713)
> at AbfsListStatusOAuthTest.main(AbfsListStatusTest.java:45)
> at
> java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
> at java.base/java.lang.reflect.Method.invoke(Method.java:580)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.execute(Main.java:484)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.run(Main.java:208)
> at jdk.compiler/com.sun.tools.javac.launcher.Main.main(Main.java:135)
> Caused by: java.net.URISyntaxException: Illegal character in scheme name at
> index 0: \FestSpecial: at
> java.base/java.net.URI$Parser.fail(URI.java:2995) at
> java.base/java.net.URI$Parser.checkChars(URI.java:3166) at
> java.base/java.net.URI$Parser.checkChar(URI.java:3176) at
> java.base/java.net.URI$Parser.parse(URI.java:3191) at
> java.base/java.net.URI.<init>(URI.java:807) at
> org.apache.hadoop.fs.Path.initialize(Path.java:261) ... 14 more
> {code}
> I tested my script, and it worked on Linux.
> Could you please help me check it?
> I compressed all my scripts ({_}AbfsListStatusTest.java{_}) and library into
> the ticket ({_}test_hadoop_azure.zip{_}).
> Here is the _AbfsListStatusTest.java:_
> {code:java}
> {code}
> _import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.fs.FileStatus;
> import org.apache.hadoop.fs.FileSystem;
> import org.apache.hadoop.fs.Path;
> import java.net.URI;
> public class AbfsListStatusOAuthTest \{
> public static void main(String[] args) throws Exception {
> // Inputs (use env vars or hardcode)
> String accountName = System.getenv("ADLS_STORAGE_ACCOUNT_NAME");
> String containerName = System.getenv("ADLS_CONTAINER_NAME");
> String tenantId = System.getenv("ADLS_TENANT_ID");
> String clientId = System.getenv("ADLS_CLIENT_ID");
> String clientSecret = System.getenv("ADLS_CLIENT_SECRET");
> String dirPath = (args.length > 0) ? args[0] : "/";
> // Use abfss for OAuth
> String fsUri = String.format("abfss://%s@%s.dfs.core.windows.net",
> containerName, accountName);
> String accountFqdn = accountName + ".dfs.core.windows.net";
> Configuration conf = new Configuration(false);
> // Ensure ABFS impls are known
> conf.set("fs.abfss.impl",
> "org.apache.hadoop.fs.azurebfs.SecureAzureBlobFileSystem");
> conf.set("fs.abfs.impl",
> "org.apache.hadoop.fs.azurebfs.AzureBlobFileSystem");
> // --- OAuth configs (scoped to the account host) ---
> conf.set("fs.azure.account.auth.type." + accountFqdn, "OAuth");
> conf.set("fs.azure.account.oauth.provider.type." + accountFqdn,
>
> "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider");
> conf.set("fs.azure.account.oauth2.client.id." + accountFqdn,
> clientId);
> conf.set("fs.azure.account.oauth2.client.secret." + accountFqdn,
> clientSecret);
> // Token endpoint (try v1 first — Hadoop ABFS commonly uses this)
> conf.set("fs.azure.account.oauth2.client.endpoint." + accountFqdn,
> "https://login.microsoftonline.com/" + tenantId +
> "/oauth2/token");
> // Create FS and call listStatus
> FileSystem fs = FileSystem.get(new URI(fsUri), conf);
> FileStatus[] statuses = fs.listStatus(new Path(dirPath));
> System.out.println("Found " + statuses.length + " entries under " +
> dirPath);
> for (FileStatus st : statuses) {
> System.out.printf("%s isDir=%s len=%d%n",
> st.getPath(), st.isDirectory(), st.getLen());
> }
> fs.close();
> }
> }_
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]