yuqi1129 opened a new issue, #5444:
URL: https://github.com/apache/gravitino/issues/5444
### Version
main branch
### Describe what's wrong
When I try to connect GVFS through GVFS client, the following error occur:
```
[2024-11-05 09:48:41.242] [main] DEBUG org.apache.hadoop.fs.FileSystem :
Filesystem gvfs defined in configuration option
[2024-11-05 09:48:41.242] [main] DEBUG org.apache.hadoop.fs.FileSystem : FS
for gvfs is class
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem
Exception in thread "main" java.lang.VerifyError: Bad return type
Exception Details:
Location:
org/apache/gravitino/shaded/com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lorg/apache/gravitino/shaded/com/fasterxml/jackson/core/TokenStreamFactory;
@7: areturn
Reason:
Type
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/JsonFactory' (current
frame, stack[0]) is not assignable to
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/TokenStreamFactory'
(from method signature)
Current Frame:
bci: @7
flags: { }
locals: {
'org/apache/gravitino/shaded/com/fasterxml/jackson/databind/cfg/MapperBuilder' }
stack: {
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/JsonFactory' }
Bytecode:
0x0000000: 2ab4 0040 b600 63b0
at
org.apache.gravitino.shaded.com.fasterxml.jackson.databind.json.JsonMapper.builder(JsonMapper.java:114)
at
org.apache.gravitino.client.ObjectMapperProvider$ObjectMapperHolder.<clinit>(ObjectMapperProvider.java:38)
at
org.apache.gravitino.client.ObjectMapperProvider.objectMapper(ObjectMapperProvider.java:59)
at
org.apache.gravitino.client.GravitinoClientBase.<init>(GravitinoClientBase.java:70)
at
org.apache.gravitino.client.GravitinoClient.<init>(GravitinoClient.java:87)
at
org.apache.gravitino.client.GravitinoClient.<init>(GravitinoClient.java:65)
at
org.apache.gravitino.client.GravitinoClient$ClientBuilder.build(GravitinoClient.java:555)
at
org.apache.gravitino.client.GravitinoClient$ClientBuilder.build(GravitinoClient.java:515)
at
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem.initializeClient(GravitinoVirtualFileSystem.java:208)
at
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem.initialize(GravitinoVirtualFileSystem.java:131)
at
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3354)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:474)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
at com.yuqi.constant.GvfsGCPTest.main(GvfsGCPTest.java:34)
Process finished with exit code 1
```
### Error message and/or stacktrace
[2024-11-05 09:48:41.242] [main] DEBUG org.apache.hadoop.fs.FileSystem :
Filesystem gvfs defined in configuration option
[2024-11-05 09:48:41.242] [main] DEBUG org.apache.hadoop.fs.FileSystem : FS
for gvfs is class
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem
Exception in thread "main" java.lang.VerifyError: Bad return type
Exception Details:
Location:
org/apache/gravitino/shaded/com/fasterxml/jackson/databind/cfg/MapperBuilder.streamFactory()Lorg/apache/gravitino/shaded/com/fasterxml/jackson/core/TokenStreamFactory;
@7: areturn
Reason:
Type
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/JsonFactory' (current
frame, stack[0]) is not assignable to
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/TokenStreamFactory'
(from method signature)
Current Frame:
bci: @7
flags: { }
locals: {
'org/apache/gravitino/shaded/com/fasterxml/jackson/databind/cfg/MapperBuilder' }
stack: {
'org/apache/gravitino/shaded/com/fasterxml/jackson/core/JsonFactory' }
Bytecode:
0x0000000: 2ab4 0040 b600 63b0
at
org.apache.gravitino.shaded.com.fasterxml.jackson.databind.json.JsonMapper.builder(JsonMapper.java:114)
at
org.apache.gravitino.client.ObjectMapperProvider$ObjectMapperHolder.<clinit>(ObjectMapperProvider.java:38)
at
org.apache.gravitino.client.ObjectMapperProvider.objectMapper(ObjectMapperProvider.java:59)
at
org.apache.gravitino.client.GravitinoClientBase.<init>(GravitinoClientBase.java:70)
at
org.apache.gravitino.client.GravitinoClient.<init>(GravitinoClient.java:87)
at
org.apache.gravitino.client.GravitinoClient.<init>(GravitinoClient.java:65)
at
org.apache.gravitino.client.GravitinoClient$ClientBuilder.build(GravitinoClient.java:555)
at
org.apache.gravitino.client.GravitinoClient$ClientBuilder.build(GravitinoClient.java:515)
at
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem.initializeClient(GravitinoVirtualFileSystem.java:208)
at
org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem.initialize(GravitinoVirtualFileSystem.java:131)
at
org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:3354)
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:474)
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:361)
at com.yuqi.constant.GvfsGCPTest.main(GvfsGCPTest.java:34)
### How to reproduce
1. Run GravitinoVirtualFileSystemGCSIT in deploy mode and add break point in
GravitinoVirtualFileSystemIT#L155
2. execute `gradle publishToMavenLocal` to install 0.7.0 package.
3. use the following code
```java
Configuration conf = new Configuration();
conf.set("fs.gvfs.impl",
"org.apache.gravitino.filesystem.hadoop.GravitinoVirtualFileSystem");
conf.set("fs.AbstractFileSystem.gvfs.impl",
"org.apache.gravitino.filesystem.hadoop.Gvfs");
conf.set("fs.gvfs.impl.disable.cache", "true");
conf.set("fs.gravitino.server.uri", "http://127.0.0.1:8090");
// Change metalake to metalake in step 1.
conf.set("fs.gravitino.client.metalake", "gvfs_it_metalake_e08bd276");
// Pass this configuration to the real file system
conf.set("gravitino.bypass.fs.oss.accessKeyId", OSS_ACCESS_KEY);
conf.set("gravitino.bypass.fs.oss.accessKeySecret", OSS_SECRET_KEY);
conf.set("gravitino.bypass.fs.oss.endpoint", OSS_ENDPOINT);
conf.set("gravitino.bypass.fs.oss.impl",
"org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem");
conf.set(FS_FILESYSTEM_PROVIDERS, "oss");
// Change metalake to metalake in step 2.
String gvfsPath =
"gvfs://fileset/catalog_eb6da7ae/schema_7c0d6c5a/test_fileset_create_89b13892";
Path path = new Path(gvfsPath);
FileSystem f = path.getFileSystem(conf);
System.out.println("fileSystem: " + f);
String filePath = gvfsPath + "/test.txt";
System.out.println(f.exists(new Path(filePath)));
```
### Additional context
_No response_
--
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]