[#5582] improvement(hadoop3-filesystem): Remove configuration fs.gvfs.filesystem.providers from GVFS client.#5634
Conversation
...ogs/catalog-hadoop/src/main/java/org/apache/gravitino/catalog/hadoop/fs/FileSystemUtils.java
Outdated
Show resolved
Hide resolved
...ogs/catalog-hadoop/src/main/java/org/apache/gravitino/catalog/hadoop/fs/FileSystemUtils.java
Outdated
Show resolved
Hide resolved
|
I think we should not simply delete this configuration, it would be better to 1) make it deprecated; 2) keep the compatible if user set this configuration; 3) warn user that this configuration is deprecated. |
I'm not 100% clear on why we only need to deprecate it. The change in PR is a compatibility modification, and the previous one was not very elegant in design. for the user which uses |
Can you please explain more why it is compatible? |
In 0.7.0, If the user does not specify After this PR is merged, if users:
The only difference is that if users put Please correct me if I'm wrong, thanks. |
I see, thanks for the explanation. |
| ServiceLoader<FileSystemProvider> allFileSystemProviders = | ||
| ServiceLoader.load(FileSystemProvider.class); | ||
|
|
||
| if (null == fileSystemProviders) { |
There was a problem hiding this comment.
Since we already removed this fileSystemProviders configuration, why do we still need to pass in this argument?
There was a problem hiding this comment.
I think we can simplify this method since we load all the fs providers.
There was a problem hiding this comment.
This method will be also utilized by Gravitino server, in the server side, file system providers are required if we want to access cloud storage
There was a problem hiding this comment.
I would suggest you to figure out a better way, use null value to check and differentiate different code path is not a good way.
| } | ||
| resultMap.put(fileSystemProvider.scheme(), fileSystemProvider); | ||
| }); | ||
| return resultMap; |
There was a problem hiding this comment.
Do we also need to add HDFS and local FS provider here?
There was a problem hiding this comment.
ServiceLoader<FileSystemProvider> allFileSystemProviders =
ServiceLoader.load(FileSystemProvider.class);
The code above will load HDFS and Local FS automatically.
|
|
|
Yeah, this looks reasonable. |
...ogs/catalog-hadoop/src/main/java/org/apache/gravitino/catalog/hadoop/fs/FileSystemUtils.java
Outdated
Show resolved
Hide resolved
| exclude(group = "*") | ||
| } | ||
|
|
||
| implementation(project(":catalogs:hadoop-common")) { |
There was a problem hiding this comment.
Make this alphabetically ordered.
| compileOnly(libs.hadoop3.common) | ||
| implementation(project(":catalogs:catalog-hadoop")) { | ||
|
|
||
| implementation(project(":catalogs:hadoop-common")) { |
What changes were proposed in this pull request?
Configuration
fs.gvfs.filesystem.providersis redundant, so we'd better remove this configuation.Why are the changes needed?
This configuration is redundant.
Fix: #5582
Does this PR introduce any user-facing change?
N/A
How was this patch tested?
Existing tests.