alibaba / jstorm

Enterprise Stream Process Engine
http://jstorm.io
Apache License 2.0
3.92k stars 1.8k forks source link

关于jstorm中的task以及使用trident发送batch tuples的问题。 #176

Open justcodeforfun opened 8 years ago

justcodeforfun commented 8 years ago

如果我使用rebalance使jstorm中的task会变化,那么当发生task变化后,同一个batch中field相同的tuples,在task变化前后就会被发送到不同的task上,这样不就不能保证field的相同的tuples在一起聚合了?jstorm在这个问题上是如何处理的?

unsleepy22 commented 8 years ago

如果task数量发生了变化,是不能保证变化之后fieldsGrouping能够发送到之前的task的,这也是rebalance时需要注意的

longdafeng commented 8 years ago

rebalance 后, 有的worker 被重启了, 因此task 是一个新的task, 在并发不变的情况下, 相同的tuple 经过field 之后,还是发到相同的task, 唯一的问题是,这个task被重启了, 重启之前的数据找不到。

不知道有没有回到lz的问题