Hi Alberto, With a spout parallelism > 1, you will lose ordering.
The only way to preserve some semblance of order would be to use a spout parallelism of 1, AND use a fields grouping of some kind to partition the stream. What about your use case requires preservation of message order? There might be an alternative angle of attack… - Taylor On Aug 4, 2014, at 12:29 PM, Alberto São Marcos <[email protected]> wrote: > Hi, > Im currently using Storm 0.9.x, ActiveMQ and @ptgoetz storm-jms spout. > I have multiple producers sending messages to the same queue. > My topologies run multiple Worker/Executors/Taks. > > From what i understand: > 1) One ActiveMQ consumer (storm-jms spout instance) takes messages from the > queue preserving the order (FIFO); > 2) Multiple ActiveMQ consumers/spouts in the same queue will compete for > messages and order is lost. > 3) Storm guarantees that bolts consume tuples in the order they are emitted > by the topology spout; > > With storm-jms spout in a parallel scenario is there any message ordering > preservation guarantee at all? > In what order are tuple batches emitted to the stream by those multiple > storm-jms spout instances? > Even if I used a Exclusive Consumer approach, can i assume the order of tuple > processing is preserved? > Does it having multiple ActiveMQ consumers in the form of spouts instances > ultimately translates to a unpredictable tuple processing order by the > topology bolts? > If so, can I solve this problem switching ActiveMQ for other solution? > > Thanks in advance. > Alberto >
signature.asc
Description: Message signed with OpenPGP using GPGMail
