[ 
https://issues.apache.org/jira/browse/HDFS-17881?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18086875#comment-18086875
 ] 

ASF GitHub Bot commented on HDFS-17881:
---------------------------------------

hadoop-yetus commented on PR #8536:
URL: https://github.com/apache/hadoop/pull/8536#issuecomment-4646195008

   :broken_heart: **-1 overall**
   
   
   
   
   
   
   | Vote | Subsystem | Runtime |  Logfile | Comment |
   |:----:|----------:|--------:|:--------:|:-------:|
   | +0 :ok: |  reexec  |  18m 50s |  |  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  |  47m 44s |  |  trunk passed  |
   | +1 :green_heart: |  compile  |   0m 59s |  |  trunk passed with JDK 
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  compile  |   1m  2s |  |  trunk passed with JDK 
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  checkstyle  |   0m 56s |  |  trunk passed  |
   | +1 :green_heart: |  mvnsite  |   1m  6s |  |  trunk passed  |
   | +1 :green_heart: |  javadoc  |   0m 58s |  |  trunk passed with JDK 
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  javadoc  |   0m 57s |  |  trunk passed with JDK 
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  spotbugs  |   1m 35s |  |  trunk passed  |
   | +1 :green_heart: |  shadedclient  |  34m 36s |  |  branch has no errors 
when building and testing our client artifacts.  |
   |||| _ Patch Compile Tests _ |
   | +1 :green_heart: |  mvninstall  |   0m 37s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 32s |  |  the patch passed with JDK 
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  javac  |   0m 32s |  |  the patch passed  |
   | +1 :green_heart: |  compile  |   0m 34s |  |  the patch passed with JDK 
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  javac  |   0m 34s |  |  the patch passed  |
   | +1 :green_heart: |  blanks  |   0m  0s |  |  The patch has no blanks 
issues.  |
   | -0 :warning: |  checkstyle  |   0m 26s | 
[/results-checkstyle-hadoop-tools_hadoop-azure.txt](https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/1/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 39s |  |  the patch passed  |
   | +1 :green_heart: |  javadoc  |   0m 29s |  |  the patch passed with JDK 
Ubuntu-21.0.11+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  javadoc  |   0m 29s |  |  the patch passed with JDK 
Ubuntu-17.0.19+10-1-24.04.2-Ubuntu  |
   | +1 :green_heart: |  spotbugs  |   1m 18s |  |  the patch passed  |
   | +1 :green_heart: |  shadedclient  |  33m 34s |  |  patch has no errors 
when building and testing our client artifacts.  |
   |||| _ Other Tests _ |
   | +1 :green_heart: |  unit  |   2m 11s |  |  hadoop-azure in the patch 
passed.  |
   | +1 :green_heart: |  asflicense  |   0m 35s |  |  The patch does not 
generate ASF License warnings.  |
   |  |   | 152m  8s |  |  |
   
   
   | Subsystem | Report/Notes |
   |----------:|:-------------|
   | Docker | ClientAPI=1.54 ServerAPI=1.54 base: 
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-8536/1/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 ac6162488377 5.15.0-174-generic #184-Ubuntu SMP Fri Mar 13 
18:41:50 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux |
   | Build tool | maven |
   | Personality | dev-support/bin/hadoop.sh |
   | git revision | trunk / 18c101a4778f4442e7a5597be860cfb23c6c625e |
   | 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/1/testReport/ |
   | Max. process+thread count | 583 (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/1/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]

Reply via email to