Sets.newHashSet(accessor.getChildNames(keyBuilder.messages(instanceName)));
Sets.newHashSet(accessor.getChildNames(keyBuilder.messages(instanceName)));
messageIds.addAll(accessor.getChildNames(keyBuilder.messages(instanceName))); } else if (changeType.equals(HelixConstants.ChangeType.MESSAGES_CONTROLLER)) { messageIds.addAll(accessor.getChildNames(keyBuilder.controllerMessages()));
List<Message> messages = accessor.getChildValues(keyBuilder.messages(instanceName)); for (Message message : messages) { if (!MessageType.STATE_TRANSITION.name().equalsIgnoreCase(message.getMsgType()) || !sessionId
List<String> messages = accessor.getChildNames(keyBuilder.messages("localhost_0")); Assert.assertEquals(messages.size(), 1); messages = accessor.getChildNames(keyBuilder.messages("localhost_1")); Assert.assertEquals(messages.size(), 1); Assert.assertEquals(accessor.getChildValues(keyBuilder.messages("localhost_0")).size(), 1); Assert.assertEquals(accessor.getChildValues(keyBuilder.messages("localhost_1")).size(), 1); Thread.sleep(1000); List<Message> host0Msg = accessor.getChildValues(keyBuilder.messages("localhost_0")); List<Message> host1Msg = accessor.getChildValues(keyBuilder.messages("localhost_1")); List<Message> allMsgs = new ArrayList<>(host0Msg); allMsgs.addAll(host1Msg); "MASTER", false); Thread.sleep(1000); Assert.assertTrue(accessor.getChildNames(keyBuilder.messages("localhost_0")).isEmpty()); Thread.sleep(1000); messages = accessor.getChildNames(keyBuilder.messages("localhost_0")); Assert.assertTrue(messages.isEmpty()); accessor.setProperty(dupMsg.getKey(accessor.keyBuilder(), dupMsg.getTgtName()), dupMsg); Thread.sleep(1000); messages = accessor.getChildNames(keyBuilder.messages("localhost_0")); Assert.assertTrue(messages.isEmpty());
for (int i = 0; i < n; i++) { List<Message> msgs = accessor.getChildValues(keyBuilder.messages(participants[i].getInstanceName())); totalMsgs += msgs.size();
List<String> msgIds = accessor.getChildNames(keyBuilder.messages("localhost_0")); accessor.removeProperty(keyBuilder.message("localhost_0", msgIds.get(0))); runPipeline(event, dataRefresh);
if (!curInstances.containsKey(instance)) { manager.removeListener(keyBuilder.messages(instance), this);
if (!curInstances.containsKey(instance)) { manager.removeListener(keyBuilder.messages(instance), this);
_gZkClient.subscribeChildChanges(keyBuilder.messages("localhost_12918").getPath(), listener);
_gZkClient.subscribeChildChanges(keyBuilder.messages("localhost_12918").getPath(), listener);
_gZkClient.subscribeChildChanges(keyBuilder.messages("localhost_12918").getPath(), listener);
.assertEquals(dataAccessor.getChildValues(keyBuilder.messages(instanceName)).size(), nMsgs); Assert.assertEquals(dataAccessor.getChildValues(keyBuilder.messages(instanceName)).size(), 1); executor.onMessage(instanceName, Arrays.asList(msgList.get(2)), changeContext); Thread.sleep(200); Assert.assertEquals(dataAccessor.getChildValues(keyBuilder.messages(instanceName)).size(), 1); Assert.assertEquals(dataAccessor.getChildValues(keyBuilder.messages(instanceName)).size(), 0); System.out.println("END TestHelixTaskExecutor.testDuplicatedMessage()");
messageIds.addAll(accessor.getChildNames(keyBuilder.messages(instanceName))); } else if (changeType.equals(HelixConstants.ChangeType.MESSAGES_CONTROLLER)) { messageIds.addAll(accessor.getChildNames(keyBuilder.controllerMessages()));
@GET @Path("{instanceName}/messages") public Response getMessagesOnInstance(@PathParam("clusterId") String clusterId, @PathParam("instanceName") String instanceName) throws IOException { HelixDataAccessor accessor = getDataAccssor(clusterId); ObjectNode root = JsonNodeFactory.instance.objectNode(); root.put(Properties.id.name(), instanceName); ArrayNode newMessages = root.putArray(InstanceProperties.new_messages.name()); ArrayNode readMessages = root.putArray(InstanceProperties.read_messages.name()); List<String> messages = accessor.getChildNames(accessor.keyBuilder().messages(instanceName)); if (messages == null || messages.size() == 0) { return notFound(); } for (String messageName : messages) { Message message = accessor.getProperty(accessor.keyBuilder().message(instanceName, messageName)); if (message.getMsgState() == Message.MessageState.NEW) { newMessages.add(messageName); } if (message.getMsgState() == Message.MessageState.READ) { readMessages.add(messageName); } } root.put(InstanceProperties.total_message_count.name(), newMessages.size() + readMessages.size()); root.put(InstanceProperties.read_message_count.name(), readMessages.size()); return JSONRepresentation(root); }
public static boolean pollForAllTasksBlock(HelixDataAccessor accessor, String instance, int numTask, long timeout) throws InterruptedException { PropertyKey propertyKey = accessor.keyBuilder().messages(instance); long startTime = System.currentTimeMillis(); while (true) { List<Message> messages = accessor.getChildValues(propertyKey); if (allTasksBlock(messages, numTask)) { return true; } else if (startTime + timeout < System.currentTimeMillis()) { return false; } else { Thread.sleep(100); } } }
@Deprecated @Override public void addMessageListener(org.apache.helix.MessageListener listener, String instanceName) { addListener(listener, new Builder(_clusterName).messages(instanceName), ChangeType.MESSAGE, new EventType[] { EventType.NodeChildrenChanged }); }
@Override public void addMessageListener(MessageListener listener, String instanceName) { addListener(listener, new Builder(_clusterName).messages(instanceName), ChangeType.MESSAGE, new EventType[] { EventType.NodeChildrenChanged }); }
@Deprecated @Override public void addMessageListener(org.apache.helix.MessageListener listener, String instanceName) { addListener(listener, new Builder(_clusterName).messages(instanceName), ChangeType.MESSAGE, new EventType[] { EventType.NodeChildrenChanged }); }
@Override public void addMessageListener(MessageListener listener, String instanceName) { addListener(listener, new Builder(_clusterName).messages(instanceName), ChangeType.MESSAGE, new EventType[] { EventType.NodeChildrenChanged }); }