storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bogun.dmit...@gmail.com
Subject Re: Two simultaneous tuples from 2 incoming stream process order
Date Thu, 06 Jun 2019 08:34:57 GMT
Ok. Thanks for confirming. I have found the "reason of concurrent
execution" in my topology and it is "outside" storm code responsibility.
Guity is lazy initialisation in some of external library.

ср, 5 июн. 2019 г. в 17:48, Stig Rohde Døssing <stigdoessing@gmail.com>:

> The "execute" method will never be called concurrently on the same bolt
> instance. In your topology, you will have some number of bolt C copies
> running (the task count for bolt C). Each copy will only receive one tuple
> in "execute" at a time. Any other tuples received while "execute" is
> running will be queued.
>
> Den ons. 5. jun. 2019 kl. 15.34 skrev <bogun.dmitriy@gmail.com>:
>
>> Hi.
>>
>> It is possible the "execute" method of the bolt to be called in
>> "parallel"? For example we have 3 bolts A, B and C:
>>
>> topology.setBolt(BOLT_A_ID, new BoltA(), scaleFactor);
>> topology.setBolt(BOLT_B_ID, new BoltB(), scaleFactor);
>> topology.setBolt(BOLT_C_ID, new BoltC(), scaleFactor)
>>         .allGrouping(BOLT_A_ID)
>>         .fieldsGrouping(BOLT_B_ID, new Fields("some-key");
>>
>> Bolts A and B produce tuples at the same time... i.e. their tuples will
>> arrive bolt C(same instance of this bolt) almost at the same time. Will
>> storm core postpone execution of the "second" tuple until "first" will be
>> processed? Or it will fire "execute" exactly when it will receive tuple(i.e
>> in parallel to current execution)?
>>
>> PS Storm version 1.1.0
>>
>

Mime
View raw message