coolderli commented on issue #4558:
URL: https://github.com/apache/gravitino/issues/4558#issuecomment-2337573960
@diqiu50 I have tested the fsspec fuse again. I mounted an HDFS directory
and found the writer wasn't successful. The list and read are successful.
```
>>> with open('/tmp/fileset/fileset_xx/tmp/test_hdfs_test/test_file.txt',
'w') as file:
... file.write(content) # 写入内容
...
DEBUG:fsspec.fuse:getattr /test_file.txt
DEBUG:fuse:FUSE operation getattr raised a <class 'fuse.FuseOSError'>,
returning errno 2.
Traceback (most recent call last):
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fsspec/fuse.py",
line 33, in getattr
info = self.fs.info(path)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/gravitino/filesystem/gvfs.py",
line 192, in info
actual_info: Dict = context_pair.filesystems()[0].info(
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fsspec/implementations/arrow.py",
line 90, in info
return self._make_entry(info)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fsspec/implementations/arrow.py",
line 109, in _make_entry
raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT),
info.path)
FileNotFoundError: [Errno 2] No such file or directory:
'/xxxxxx/test_file.txt'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 739, in _wrapper
return func(*args, **kwargs) or 0
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 779, in getattr
return self.fgetattr(path, buf, None)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 1032, in fgetattr
attrs = self.operations('getattr', self._decode_optional_path(path), fh)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 1081, in __call__
return getattr(self, op)(*args)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fsspec/fuse.py",
line 35, in getattr
raise FuseOSError(ENOENT) from exc
fuse.FuseOSError: [Errno 2] No such file or directory
DEBUG:fsspec.fuse:create ('/test_file.txt', 33204)
DEBUG:fsspec.fuse:getattr /test_file.txt
DEBUG:fuse:FUSE operation ioctl raised a <class 'fuse.FuseOSError'>,
returning errno 25.
Traceback (most recent call last):
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 739, in _wrapper
return func(*args, **kwargs) or 0
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 1065, in ioctl
return self.operations('ioctl', path.decode(self.encoding),
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 1081, in __call__
return getattr(self, op)(*args)
File
"/home/mi/IdeaProjects/gravitino/.gradle/python/Linux/Miniforge3/envs/python-3.8/lib/python3.8/site-packages/fuse.py",
line 1148, in ioctl
raise FuseOSError(errno.ENOTTY)
fuse.FuseOSError: [Errno 25] Inappropriate ioctl for device
```
--
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]