未确认的元组会怎样?

时间:2018-07-10 13:44:38

标签: apache-storm

假设我有一个Apache Storm拓扑处理一些元组。我确认了其中大多数,但有时由于错误而未处理,因此未确认。

这些“丢失的”元组会怎样? Storm是否会自动使它们失败,还是应该每次都明确地使它们失败?

2 个答案:

答案 0 :(得分:1)

来自Storm的文档:

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

通过显式地使元组失败,与等待元组超时相比,可以更快速地重放出水嘴元组。 (默认为30秒)

您处理的每个元组都必须被确认或失败。 Storm使用内存来跟踪每个元组,因此,如果您不对每个元组进行确认/失败,则该任务最终将耗尽内存。

答案 1 :(得分:1)

  

这些“丢失的”元组会怎样?暴风雨会使他们失败吗   自动

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