我有一个螺栓,在小批量的元组工作。我基本上有一个 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显示了从这个螺栓中提取的非常少的元组。这是锚定他们的正确方法还是我需要打电话 collector.ack(tuple)
也在bolt switch语句中?尽管storm ui计数很奇怪,但拓扑运行时没有任何元组超时。
1条答案
按热度按时间erhoui1w1#
如果要在工作进程崩溃时重放挂起的锚定,则不应在bolt1情况下确认元组。你也不想多次确认元组。
看起来你在追踪tick元组而不是tick案例中的锚?你也应该确认锚点,否则一旦你点击拓扑消息超时,喷口就会被告知它们失败了。