I am looking at Helix as a possible solution to help manage and partition
in-memory data across a cluster and I am exploring my options of obtaining
the memory allocation on each of the nodes. The idea is that I would move
data to different node depending on the memory availability.

On Sun, Oct 7, 2018 at 11:12 AM kishore g <[email protected]> wrote:

> is the message between spectator and participant?
>
> Unfortunately spectator don’t have a way to receive messages from others-
> controllers and participants can.
>
> Can you describe your usecase, may be I can suggest an alternate solution.
>
> On Sun, Oct 7, 2018 at 3:52 AM Rob McKinnon <[email protected]>
> wrote:
>
>> Kishore - I tried the following code:
>>
>> public HelixTaskResult handleMessage() throws InterruptedException {
>>     Message msg = getMessage();
>>     System.out.println("working with message");
>>     System.out.println(String.format("sub message %s", msg.getMsgSubType()));
>>
>>     ClusterMessagingService service = 
>> _notificationContext.getManager().getMessagingService();
>>
>>     Message respmsg = new Message(Message.MessageType.TASK_REPLY.name(), 
>> UUID.randomUUID().toString());
>>     respmsg.setCorrelationId(msg.getCorrelationId());
>>     respmsg.setSrcInstanceType(msg.getSrcInstanceType());
>>     respmsg.setMsgState(Message.MessageState.NEW);
>>
>>     String srcInstance = msg.getRecord().getSimpleField("SRC_NAME");
>>
>>     Criteria criteria = new Criteria();
>>     criteria.setInstanceName(srcInstance);
>>     criteria.setRecipientInstanceType(InstanceType.SPECTATOR);
>>
>>
>>     int dest = service.send(criteria, respmsg);
>>
>>
>>     HelixTaskResult result = new HelixTaskResult();
>>     result.setMessage("hello");
>>     result.setSuccess(true);
>>     return result;
>> }
>>
>>
>> This did not work.
>>
>> On Sat, Oct 6, 2018 at 6:49 PM kishore g <[email protected]> wrote:
>>
>>> You have source instanceID and correlation ID in the message. Send the
>>> response back using those two and set the msg type as TASK_REPLY.  Will try
>>> to find an example
>>>
>>> On Sat, Oct 6, 2018 at 10:06 AM Rob McKinnon <[email protected]>
>>> wrote:
>>>
>>>> Kishore - That was helpful. I am also looking on how to send a response
>>>> message back to the caller. When the caller sends a message and defines an
>>>> AsyncCallback, how does the recipient respond so that the AsyncCallback is
>>>> invoked?
>>>>
>>>> On Sat, Oct 6, 2018 at 11:09 AM kishore g <[email protected]> wrote:
>>>>
>>>>> Here is an example from Pinot.
>>>>>
>>>>> https://github.com/linkedin/pinot/blob/7fe310f3eb20dcac0bb5e8d39a21894fdae2b5ee/pinot-server/src/main/java/com/linkedin/pinot/server/starter/helix/SegmentMessageHandlerFactory.java
>>>>>
>>>>>
>>>>>
>>>>> // Register message handler factory
>>>>> SegmentMessageHandlerFactory messageHandlerFactory =
>>>>> new SegmentMessageHandlerFactory(fetcherAndLoader, _serverInstance.
>>>>> getInstanceDataManager());
>>>>> _helixManager.getMessagingService()
>>>>> .registerMessageHandlerFactory(Message.MessageType.USER_DEFINE_MSG.toString(),
>>>>> messageHandlerFactory);
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Oct 6, 2018 at 7:51 AM Rob McKinnon <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Is there a good example available for Cluster Messaging? The tutorial
>>>>>> demonstrated how to send a message but didn't didn't go into detail about
>>>>>> how to receive a message. Specifically, I am looking on how to send and
>>>>>> receive user defined cluster messages.
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Rob
>>>>>>
>>>>>

Reply via email to