I was looking to see if that was a possibility. On Mon, Oct 8, 2018, 2:13 AM kishore g <[email protected]> wrote:
> Thanks. Are you planning to use the messaging service as a mechanism to > communicate the memory usage? > > On Sun, Oct 7, 2018 at 11:28 AM Rob McKinnon <[email protected]> > wrote: > >> 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 >>>>>>>> >>>>>>>
