0-3 - 无法访问缓存路径
其他模块复用 Common 层的文件缓存机制(目前是元数据模块),Common 层的文件缓存机制无法访问其指定的目录。
2022-08-29 00:35:00,189 ERROR [org.apache.dubbo.common.cache.FileCacheStoreFactory:?] - [DUBBO] Cache store path can't be created: , dubbo version: , current host: 10.0.1.1 , error code: 0-3. This may be caused by inaccessible of cache path, go to https://dubbo.apache.org/faq/0/3 to find instructions.
java.nio.file.FileAlreadyExistsException: [Path]
at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:87)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
at java.base/sun.nio.fs.WindowsFileSystemProvider.createDirectory(WindowsFileSystemProvider.java:521)
at java.base/java.nio.file.Files.createDirectory(Files.java:700)
at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:807)
at java.base/java.nio.file.Files.createDirectories(Files.java:753)
at org.apache.dubbo.common.cache.FileCacheStoreFactory.getInstance(FileCacheStoreFactory.java:90)
...
可能原因
- 多个 Dubbo 进程(或其他 Java 进程)使用同一个缓存文件。
- 由于缓存文件所在目录的文件系统权限问题,导致读写失败。
故障排除和解决步骤
- 根据下方显示的实际异常,找到无法访问的目录,并确定其文件访问权限。
- 确定是否有其他 Dubbo 实例正在访问此路径。
- 尝试配置 Java 系统属性(使用 -D 配置的 Java 系统属性)
dubbo.meta.cache.filePath
和dubbo.mapping.cache.filePath
,将其指定为当前用户可以完全控制的目录。
上次修改时间:2023 年 1 月 3 日: 合并错误代码 3-3 到 3-8,6-4 到 99-0。 (#1796) (a687d30ae03)