This is an automated email from the ASF dual-hosted git repository.

yuqi1129 pushed a commit to branch branch-1.3
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.3 by this push:
     new b4a18ec6f2 [Cherry-pick to branch-1.3] [#11813] fix(gvfs): override 
getScheme() to return 'gvfs' (#11814) (#11818)
b4a18ec6f2 is described below

commit b4a18ec6f21ee6a0a832f91b19b090b001c04130
Author: github-actions[bot] 
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Mon Jun 29 11:19:18 2026 +0800

    [Cherry-pick to branch-1.3] [#11813] fix(gvfs): override getScheme() to 
return 'gvfs' (#11814) (#11818)
    
    **Cherry-pick Information:**
    - Original commit: 3dd3b8f0f776a0a23fc6907c52ceb063f1f10f01
    - Target branch: `branch-1.3`
    - Status: ✅ Clean cherry-pick (no conflicts)
    
    Co-authored-by: Gary Wang <[email protected]>
---
 .../filesystem/hadoop/GravitinoVirtualFileSystem.java         |  6 ++++++
 .../org/apache/gravitino/filesystem/hadoop/TestGvfsBase.java  | 11 +++++++++++
 2 files changed, 17 insertions(+)

diff --git 
a/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/GravitinoVirtualFileSystem.java
 
b/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/GravitinoVirtualFileSystem.java
index 89a40bc7d9..4e0eefc9fe 100644
--- 
a/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/GravitinoVirtualFileSystem.java
+++ 
b/clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/GravitinoVirtualFileSystem.java
@@ -123,6 +123,12 @@ public class GravitinoVirtualFileSystem extends FileSystem 
{
     return this.uri;
   }
 
+  /** Returns the GVFS scheme to avoid {@link UnsupportedOperationException} 
in commit jobs. */
+  @Override
+  public String getScheme() {
+    return GravitinoVirtualFileSystemConfiguration.GVFS_SCHEME;
+  }
+
   @Override
   public synchronized Path getWorkingDirectory() {
     return this.workingDirectory;
diff --git 
a/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestGvfsBase.java
 
b/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestGvfsBase.java
index 11779b1aab..fb69fafae3 100644
--- 
a/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestGvfsBase.java
+++ 
b/clients/filesystem-hadoop3/src/test/java/org/apache/gravitino/filesystem/hadoop/TestGvfsBase.java
@@ -256,6 +256,17 @@ public class TestGvfsBase extends GravitinoMockServerBase {
     }
   }
 
+  @Test
+  public void testGetScheme() throws IOException {
+    Assumptions.assumeTrue(getClass() == TestGvfsBase.class);
+    try (FileSystem fs = new Path("gvfs://fileset/").getFileSystem(conf)) {
+      // The default FileSystem#getScheme() throws 
UnsupportedOperationException, which breaks
+      // Hadoop / Spark commit protocols when writing to a gvfs:// path. GVFS 
must override it
+      // and return the GVFS scheme constant.
+      assertEquals(GravitinoVirtualFileSystemConfiguration.GVFS_SCHEME, 
fs.getScheme());
+    }
+  }
+
   @Test
   public void testRequestHeaders()
       throws NoSuchFieldException, IllegalAccessException, IOException {

Reply via email to