Thanks a lot Thomas. It is indeed working as you mentioned. It was a bug in my 
code that was present in an edge condition/use case of a single Apex operator 
configuration. Due to the buggy code in the partition method when the number of 
Apex operators was configured to be one,  I was returning back the prototype 
operator ( the original instance ) without setting some operator specific 
internal flags. This was misunderstood by me as that the partition logic did 
not get triggered in the first place. 

Thanks for confirming.


Regards,
Ananth
> On 22 Sep 2017, at 1:33 am, Thomas Weise <t...@apache.org> wrote:
> 
> Implementing Partitioner should cover this. The partitioner is called when
> constructing the physical plan (at initialization) and then, in the case of
> dynamic partitioning, on demand.
> 
> As part of the partitioning logic you can set properties on the operator
> instances that are specific to the partition. An example for this is the
> Kafka input operator, where each Apex partition will be setup with the
> Kafka topic partition(s) it is responsible for.
> 
> Thanks,
> Thomas
> 
> 
> On Thu, Sep 21, 2017 at 6:36 AM, Ananth G <ananthg.a...@gmail.com> wrote:
> 
>> Hello All,
>> 
>> I was wondering if there is a good way to get the following two values in
>> an operator when the operator is in the activate/setup methods
>> 
>> 1. The total number of operator physical instances that are going to be
>> launched
>> 2. The ordinal position of the current operator in the current set of
>> physical operators
>> 
>> I am looking for this information so that I can implement a logic in the
>> operator wherein each operator takes a part of the responsibility . I can
>> get the above values when the dynamic partitioning interface is implemented
>> and the call back happens to the assign() method. But the issue is that the
>> assign() method does not seem to be invoked at the beginning but only when
>> the dynamic partitioning is being done ( In other words the assign() method
>> is not called until a certain time has passed since the beginning of the
>> launch of the operator. I would like the above values when the operator is
>> starting in the activate()/setup() methods.)
>> 
>> Any advice as to how these values can be obtained ?
>> 
>> Regards,
>> Ananth

Reply via email to