菜单
开源

坏块

查询失败并包含以下错误消息:

error querying store in Querier.FindTraceByID: error using pageFinder (1, 5927cbfb-aabe-48b2-9df5-f4c3302d915f): ...

这可能表明后端存在坏(损坏)块。

如果 ingester 在将块刷新到后端时崩溃,块可能会损坏。

修复坏块

目前,如果后端块的 index 或 bloom-filter 损坏/删除,则可以修复该块。

要修复此类块,首先将其下载到可以运行 tempo-cli 的机器上。

接下来,根据哪个文件损坏/删除,运行 tempo-cligen index / gen bloom 命令。该命令将在所需位置(块文件夹中)从数据文件创建一个新的 index/bloom-filter。要查看此命令的所有选项,请参阅 CLI 文档

最后,将生成的 index 或 bloom-filter 上传到对象存储后端对应块的文件夹下。

移除坏块

如果上述修复坏块的步骤发现数据文件已损坏,唯一剩余的解决方案是删除该块,这可能会导致一些数据丢失。

从后端移除块的机制取决于后端类型,但要移除的块位于

<tenant ID>/<block ID>