0-3 - 無法訪問快取路徑
其他模組複用 Common 層基於檔案的快取機制(目前是 metadata 模組),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.dev.org.tw/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)