helix-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vinayak Borkar <vinay...@gmail.com>
Subject Re: Sending a message to all participants
Date Tue, 08 Oct 2013 06:16:29 GMT
Ok. Here is what is going on. It looks like sending a message is 
connected with having resources in the cluster. Once a resource is 
created, the message seems to go to the one live instance in the cluster.

The root cause of this behavior is that Criteria can only pick between 
EXTERNALVIEW and IDEALSTATES as data sources. So instances that do not 
have a resource mapped to it will never satisfy any criteria. Is this by 
design?

If I wanted to send a message to every live instance, how would I go 
about doing that?

Thanks,
Vinayak



On 10/7/13 10:30 PM, Zhen Zhang wrote:
> Hi, could you try allParticipantsCriteria.setSelfExcluded(false), by
> default selfExcluded is true and maybe you are sending from the only
> liveInstance in the cluster, so no liveInstance matches the criteria.
>
> Thanks,
> Jason
>
>
> On Mon, Oct 7, 2013 at 9:30 PM, Vinayak Borkar <vinayakb@gmail.com> wrote:
>
>> Hi Kishore,
>>
>>
>> As suspected, not setting resource and partition did not help. Any other
>> ideas?
>>
>> Thanks,
>>
>> Vinayak
>>
>>
>> On 10/7/13 7:04 PM, kishore g wrote:
>>
>>> Hi Vinayak,
>>>
>>> Why is resource and partition empty string? if you want to send all live
>>> instances irrespective what resource/partition they do not set it.
>>>
>>> Criteria allParticipantsCriteria = new Criteria();
>>> allParticipantsCriteria.****setInstanceName("%");
>>> allParticipantsCriteria.****setRecipientInstanceType(****InstanceTyp
>>> e.PARTICIPANT);
>>>
>>> can you try this
>>>
>>> Thanks,
>>> Kishore G
>>>
>>>
>>> On Mon, Oct 7, 2013 at 6:58 PM, Vinayak Borkar <vinayakb@gmail.com>
>>> wrote:
>>>
>>>   Hi,
>>>>
>>>>
>>>> I need to send a message to all live instances in a Helix cluster. I set
>>>> the Criteria as follows:
>>>>
>>>> Criteria allParticipantsCriteria = new Criteria();
>>>> allParticipantsCriteria.****setInstanceName("%");
>>>> allParticipantsCriteria.****setRecipientInstanceType(**
>>>> InstanceType.PARTICIPANT);
>>>> allParticipantsCriteria.****setResource("");
>>>> allParticipantsCriteria.****setPartition("");
>>>>
>>>>
>>>> However, the number of recipients turns out to be 0. I also tried
>>>> changing
>>>> the datasource in the criteria to be IDEALSTATES using the code below:
>>>>
>>>> allParticipantsCriteria.****setDataSource(DataSource.****IDEALSTATES);
>>>>
>>>>
>>>> But no joy.
>>>>
>>>> Please note that I connect to Helix using an administrator role. When
>>>> listing the live instances using the helix-admin client script I do see
>>>> one
>>>> live instance.
>>>>
>>>> Any ideas on what could be going wrong?
>>>>
>>>> Thanks,
>>>> Vinayak
>>>>
>>>>
>>>
>>
>


Mime
View raw message