STREAMING_CHECKPOINT_REWIND_ERROR错误条件

SQLSTATE:42000

无法对检查点位置为<checkpointLocation>的流式查询执行回卷操作。

无法恢复接收器,缺少接收器偏移量

由于 sinkOffset <sinkOffset> 无效,无法执行 restoreSink=true 的回退操作。 回退到其他批处理或设置 restoreSink=false。

未能找到接收器回放提供者

未能在 batchId=<batchId> 找到接收器回卷提供程序。

找不到源回放提供程序

未能在 batchId=<batchId> 找到源回退提供程序。

无效倒带提供者

在 batchId=<rewindProviderName> 中找到名称为 name=<batchId> 的源/接收器回退提供程序无效。 源/接收器提供程序名称=<providerName> for <sourceOrSinkId>.

SINK 不支持 RESTORE

接收器 <sinkName> 不支持用于时间旅行的“restoreSink=true”。 在回退配置中设置“restoreSink=false”。

接收器不支持倒带重放

汇聚点 <sinkName> 不支持时间旅行。 请禁用时光倒流或联系 Databricks 技术支持。

SOURCE_ID_NOT_FOUND_IN_OFFSETS

在检查点位置 <sourceId> 的最新偏移日志中找不到位于 batchId=<batchId> 的源 ID “<checkpointLocation>”。

可用的源 ID:[<availableSourceIds>]。

如果在回退目标批处理后修改流式查询来添加新源,可能会出现此错误。

确保当前查询配置中的所有源都存在于目标重置批处理中。

SOURCE_OFFSET_METADATA_MISMATCH (源偏移元数据不匹配)

batchId=<batchId> 处的源偏移元数据不匹配。 期望的来源数量=<expectedNumSources>;实际得到的数量=<actualNumSources>

状态恢复失败

无法将状态存储从源批处理 <sourceBatchId> 还原到批处理 <targetBatchId>

验证状态检查点文件是否存在且在源批处理中没有损坏,或选择其他批进行回退。

时光旅行未启用

检查点位置<checkpointLocation>未启用时间旅行。 请在执行回放之前启用时间旅行。 对于新的查询,可以通过将 spark.databricks.streaming.queryMgmt.rewindReplay.enabled 设置为 true 来启用时间旅行功能。

不支持的偏移量日志版本

batchId=<version> 不支持的偏移量日志版本<batchId>。 Rewind 需要偏移日志版本 2。 确保在启用了偏移日志版本 2 的情况下创建检查点。

不支持的状态存储提供者

状态存储提供程序 <providerClass>不支持状态回滚。

有状态倒退操作仅支持 RocksDB 状态存储。