jerryshao commented on code in PR #5244:
URL: https://github.com/apache/gravitino/pull/5244#discussion_r1820145095


##########
bundles/aliyun-bundle/src/main/java/org/apache/gravitino/oss/fs/OSSFileSystemProvider.java:
##########
@@ -18,23 +18,41 @@
  */
 package org.apache.gravitino.oss.fs;
 
+import com.google.common.collect.ImmutableMap;
 import java.io.IOException;
 import java.util.Map;
 import org.apache.gravitino.catalog.hadoop.fs.FileSystemProvider;
+import org.apache.gravitino.storage.OSSProperties;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem;
+import org.apache.hadoop.fs.aliyun.oss.Constants;
 
 public class OSSFileSystemProvider implements FileSystemProvider {
+
+  private static final String OSS_FILESYSTEM_IMPL = "fs.oss.impl";
+
+  public static final Map<String, String> GRAVITINO_KEY_TO_OSS_HADOOP_KEY =
+      ImmutableMap.of(
+          OSSProperties.GRAVITINO_OSS_ENDPOINT, Constants.ENDPOINT_KEY,
+          OSSProperties.GRAVITINO_OSS_ACCESS_KEY_ID, Constants.ACCESS_KEY_ID,
+          OSSProperties.GRAVITINO_OSS_ACCESS_KEY_SECRET, 
Constants.ACCESS_KEY_SECRET);
+
   @Override
   public FileSystem getFileSystem(Path path, Map<String, String> config) 
throws IOException {
     Configuration configuration = new Configuration();
     config.forEach(
         (k, v) -> {
-          configuration.set(k.replace("gravitino.bypass.", ""), v);
+          if (k.startsWith(GRAVITINO_BYPASS)) {
+            configuration.set(k.replace(GRAVITINO_BYPASS, ""), v);
+          } else 
configuration.set(GRAVITINO_KEY_TO_OSS_HADOOP_KEY.getOrDefault(k, k), v);

Review Comment:
   You'd better add `{ xxx }` for `else`.



##########
bundles/aliyun-bundle/src/main/java/org/apache/gravitino/oss/fs/OSSFileSystemProvider.java:
##########
@@ -18,23 +18,41 @@
  */
 package org.apache.gravitino.oss.fs;
 
+import com.google.common.collect.ImmutableMap;
 import java.io.IOException;
 import java.util.Map;
 import org.apache.gravitino.catalog.hadoop.fs.FileSystemProvider;
+import org.apache.gravitino.storage.OSSProperties;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem;
+import org.apache.hadoop.fs.aliyun.oss.Constants;
 
 public class OSSFileSystemProvider implements FileSystemProvider {
+
+  private static final String OSS_FILESYSTEM_IMPL = "fs.oss.impl";
+
+  public static final Map<String, String> GRAVITINO_KEY_TO_OSS_HADOOP_KEY =

Review Comment:
   Why do we want to make this public?



##########
bundles/gcp-bundle/src/main/java/org/apache/gravitino/gcs/fs/GCSFileSystemProvider.java:
##########
@@ -31,12 +33,18 @@
 public class GCSFileSystemProvider implements FileSystemProvider {
   private static final Logger LOGGER = 
LoggerFactory.getLogger(GCSFileSystemProvider.class);
 
+  public static final Map<String, String> GRAVITINO_KEY_TO_GCS_HADOOP_KEY =
+      ImmutableMap.of(
+          GCSProperties.GCS_SERVICE_ACCOUNT_JSON_PATH, 
"fs.gs.auth.service.account.json.keyfile");

Review Comment:
   Can you please define this "fs.gs.auth.service.account.json.keyfile" as 
static variable.



##########
bundles/gcp-bundle/build.gradle.kts:
##########
@@ -34,6 +34,7 @@ dependencies {
 
   implementation(libs.commons.lang3)
   implementation(libs.hadoop3.gcs)
+  implementation(project(":catalogs:catalog-common"))

Review Comment:
   Why don't we `exclude('*')` here?



##########
catalogs/catalog-hadoop/src/main/java/org/apache/gravitino/catalog/hadoop/fs/FileSystemProvider.java:
##########
@@ -32,6 +32,8 @@
  */
 public interface FileSystemProvider {
 
+  String GRAVITINO_BYPASS = "gravitino.bypass.";

Review Comment:
   Can you please add some comments to this variable, to let users know how to 
leverage this variable.



##########
clients/filesystem-hadoop3/src/main/java/org/apache/gravitino/filesystem/hadoop/GravitinoVirtualFileSystemConfiguration.java:
##########
@@ -107,5 +112,46 @@ public class GravitinoVirtualFileSystemConfiguration {
   public static final long 
FS_GRAVITINO_FILESET_CACHE_EVICTION_MILLS_AFTER_ACCESS_DEFAULT =
       1000L * 60 * 60;
 
+  private static final Map<String, String> GVFS_S3_KEY_TO_HADOOP_KEY =

Review Comment:
   If we add a new FS provider, do we need to update the GVFS code to make it 
work? If so, I think it is not a good design, we should also hide the client 
side configuration into each provider.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to