我想围绕雪花中的缓存未命中编写错误处理逻辑,并正在寻找一种复制这种情况的便捷方法。
具体来说,我想复制一个场景,其中用户正在对几周前运行的查询运行后处理,并且不再可用(导致他们的查询在缓存未命中时出错)。
雪花管理员是否可以选择从缓存中删除特定查询 ID,或者这是一个通常不受支持的选项?
如果没有它,我似乎需要等待缓存结果过期所需的时间,然后才能获得有关错误结果的任何数据。
我已经阅读了大部分一般文档,并找到了有关 RESULT SCAN 方法的资源,但找不到任何关于缓存未命中时将返回哪种类型的错误的可靠信息(或者是否有能力从缓存中清除单个查询)。
虽然我无法提供立即触发此错误消息的有效方法,但我可以向其他读者提供在我等待缓存过期 24 小时后 Snowflake 在这种情况下返回的当前响应的快照。错误消息如下:
Result for query "{queryId}" has expired
回复中的一些相关数据包括:
code: 000710
name: OperationFailedError
sqlState: 02000
不幸的是,尽管 Snowflake 提供了有关如何处理查询响应的指导,但它们似乎没有提供错误消息及其含义的完整列表。