未确认的元组会怎样?

What happens to tuples which are not acked?

假设我有一个处理一些元组的 Apache Storm 拓扑。我确认了其中的大部分,但有时,由于错误,它们没有被处理,因此没有被确认。

这些 'lost' 元组会怎样? Storm 会自动使它们失败,还是我应该每次都明确地这样做?

来自 Storm 的文档:

http://storm.apache.org/releases/1.2.2/Guaranteeing-message-processing.html

通过显式使元组失败,与等待元组超时相比,可以更快地重播 spout 元组。 (=默认 30 秒)

您处理的每个元组都必须被确认或失败。 Storm 使用内存来跟踪每个元组,因此如果您不 ack/fail 每个元组,任务最终将 运行 内存不足。

What happens to these 'lost' tuples? Does Storm fail them automatically

是的,storm 在元组超时后自动使它们失败。但你最好明确地这样做。