0-5 - 缓存文件大小超限
其它模块复用了 Common 层的基于文件的缓存机制(目前是元数据模块),而 Common 层的文件缓存机制 “发觉” 文件大小超限。
可能的原因
- 用户不合理地配置了 Java System Property (用 -D 配置的 Java 系统属性)
dubbo.mapping.cache.maxFileSize
或者dubbo.meta.cache.maxFileSize
- 缓存文件因文件系统或磁盘错误而被破坏。
dubbo.mapping.cache.maxFileSize
和dubbo.meta.cache.maxFileSize
没有显示默认值, 而根据org.apache.dubbo.common.cache.FileCacheStore.LimitedLengthBufferedWriter
的逻辑而查到的最大文件大小的默认值为:Long.MAX_VALUE
( 263-1 ) 。
排查和解决步骤
- 尝试重新配置上述 Java System Property(用 -D 配置的 Java 系统属性)。
- 删除缓存文件夹重启 Provider 和 Consumer (缓存文件夹的位置一般在
~/.dubbo
。如果配置了dubbo.meta.cache.filePath
和dubbo.mapping.cache.filePath
则为该路径)。 - 如果确实没有配置这些 System Property,请到 GitHub Issue Tracker 下发 Issue。
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
最后修改 November 7, 2022: Update 5.md (#1586) (f6da1ee42)