Actually, nevermind, those cases aren't problems since these objects are
contained within the operation of the combiner aggregator. But I still
wouldn't do it as it goes against the spirit of the API.


On Sat, Dec 21, 2013 at 6:56 PM, Nathan Marz <[email protected]> wrote:

> They could potentially be re-used if the stream forks at that point or if
> there are multiple aggregators chained together.
>
>
> On Sat, Dec 21, 2013 at 4:24 PM, Adam Lewis <[email protected]> wrote:
>
>> Okay...what I've suggested isn't the cleanest seeming and I'm happy to
>> move to a less...smelly solution, but I'm unclear on how those values would
>> get reused.  I'm not touching objects pointed to by the original tuple,
>> only mutating the object created in the init method of the
>> CombinerAggregator.
>>
>> Just to better my understanding of how storm/trident works, in what
>> circumstances could those values be reused?
>>
>> Thanks.
>>
>>
>> On Sat, Dec 21, 2013 at 5:49 PM, Nathan Marz <[email protected]>wrote:
>>
>>> You shouldn't do that. Those input values could potentially be re-used
>>> for other operations. I would recommend looking into using persistent data
>>> structures.
>>>
>>>
>>> On Sat, Dec 21, 2013 at 6:42 AM, Adam Lewis <[email protected]> wrote:
>>>
>>>> Hi All,
>>>>
>>>> When implementing CombinerAggregator in Trident,
>>>> is
>>>>  there any issue with aggregating in
>>>> place?  That is, something like this:
>>>>
>>>>
>>>> public class
>>>> MyAgg
>>>>  implements CombinerAggregator<
>>>> MyMutable
>>>> > {
>>>>
>>>>
>>>> public MyMutable combine(MyMutable val1, MyMutable val2) {
>>>>
>>>> val1.mergeInPlace(val2);
>>>>        return val1;
>>>>
>>>>     }
>>>>
>>>>   ...
>>>>
>>>> }
>>>>
>>>> In my use case the values are somewhat elaborate structurally, and
>>>> combining them in place is a lot more efficient...this seems to be working
>>>> fine in local mode, but I can't find any indication if this is a sound
>>>> practice before I commit to it.
>>>>
>>>>
>>>> Thanks,
>>>> Adam
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> Twitter: @nathanmarz
>>> http://nathanmarz.com
>>>
>>
>>
>
>
> --
> Twitter: @nathanmarz
> http://nathanmarz.com
>



-- 
Twitter: @nathanmarz
http://nathanmarz.com

Reply via email to