Apache storm 无序分组中的IndexOutOfBoundsException

Apache storm 无序分组中的IndexOutOfBoundsException,apache-storm,Apache Storm,当我们将具有随机分组的螺栓连接到其前一个螺栓时,会得到IndexOutOfBoundsException 前任博尔特抛出了这个。 它表示8,因为后续螺栓有8个实例 有什么想法吗?你能检查一下你的螺栓是否收到了喷口本身的输入。当您试图从喷口本身发出一个空值时,可能会发生这种情况。结果是storm中的一个bug。您现在需要锁定发射 Caused by: java.lang.IndexOutOfBoundsException: Index: 8, Size: 8 at java

当我们将具有随机分组的螺栓连接到其前一个螺栓时,会得到IndexOutOfBoundsException

前任博尔特抛出了这个。 它表示8,因为后续螺栓有8个实例


有什么想法吗?

你能检查一下你的螺栓是否收到了喷口本身的输入。当您试图从喷口本身发出一个空值时,可能会发生这种情况。

结果是storm中的一个bug。您现在需要锁定发射

    Caused by: java.lang.IndexOutOfBoundsException: Index: 8, Size: 8
        at java.util.ArrayList.get(ArrayList.java:382)
        at backtype.storm.util$acquire_random_range_id.invoke(util.clj:590)
 at backtype.storm.daemon.executor$mk_shuffle_grouper$fn__3568.invoke(executor.clj:28)
...
        at backtype.storm.task.OutputCollector.emit(OutputCollector.java:186)

Storm的哪个版本?分组时,元组的项数似乎不匹配。重新检查您的配置。@Chiron-如果是项目数,我们将始终得到异常,因为该数字是固定的。我们偶尔会得到一次。对于字段不匹配,它应该会得到一个
IllegalArgumentException
,并显示错误消息,如
预期有N个字段,但发现T
我相信我只能通过从我的喷口发出一个空值来重现相同的异常。正如你所说,这个错误是随机的,你能在收到这个异常之前确认你的喷口发出了什么值吗
 synchronized(outputCollector) {
     outputCollector.emit();
 }