我有一个小批量元组的螺栓。我基本上有一个switch
语句,用于侦听来自前一个螺栓的流或tick tuple
。它看起来像这样:
switch(component) {
bolt1:
do some work...
anchors.add(tuple)
tick:
do some work...
collector.emit(anchors, value)
collector.ack(tuple)
anchors.clear()
当我运行它时,Storm UI会显示从此螺栓中获取的非常少量的元组。这是锚定它们的正确方法还是我还需要在bolt switch语句中调用collector.ack(tuple)
?即使Storm UI计数很奇怪,拓扑也会在没有任何元组超时的情况下运行。
答案 0 :(得分:1)
如果要在工作程序崩溃时重播待处理的锚点,则不应该在bolt1情况下使用元组。你永远不会想要多次使用元组。
看起来你正在查找蜱元组而不是蜱案例中的锚点?您也应该确定锚点,或者一旦您点击拓扑消息超时,就会告诉它们它们已经失败。