冷待机引发“DataStoreException记录不存在”错误
此功能按设计运行,并不表示文件数据存储有问题。 要确认Blob ID实际上并未缺失,请按照解决方法部分中的步骤操作。
描述 description
环境
Adobe Experience Manager (AEM)
问题
具有专用文件数据存储的冷备用在缺少blob id时引发警告,类似于下面的错误:
*WARN* [ standby-run-1] org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore Error occurred while loading bytes from steam while fetching for id xxxxxxxxxx
java.util.concurrent.ExecutionException: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx does not exist
at org.apache.jackrabbit.oak.cache.CacheLIRS$Segment.load(CacheLIRS.java:1017) [ org.apache.jackrabbit.oak-core-spi:1.10.3]
...
Caused by: org.apache.jackrabbit.core.data.DataStoreException: Record xxxxxxxx does not exist
at org.apache.jackrabbit.core.data.AbstractDataStore.getRecord(AbstractDataStore.java:59)
解决方法 resolution
解决方案
此功能按设计运行,并不表示文件数据存储有问题。
要确认Blob ID实际未缺失,请执行以下步骤:
- 例如,获取日志中显示为缺失的示例blob id(例如:
cabdc49c6562afe71da796b57c2d1a86753091073f1935a2c49c20)。 - 对于此示例中的此blob id,文件系统地址应为:
ca/bd/c4/9c6562afe71da796b57c2d1a6a3495026dfafff4d1073f1935a2c49c20。 - 在备用实例上搜索文件系统,并检查文件数据存储中是否存在命名文件。
- 在
/repository/datastore内,使用list(例如:ls -ald)命令:ls -ald ca/bd/c4/9c6562afe71da786753095026dfafff4d1073f1935a2c49c20。 - 您应该能够查看该文件并确认blob id实际上并未缺失。
原因
这只是警告,不是错误。 这是因为文件数据存储无法验证本地是否存在二进制文件,除非尝试加载blob id。 如果id已加载,则日志不会显示此警告。 但是,如果未找到,则待机程序知道它必须同步它,因此您会在日志中看到此类警告。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f