@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor .getProperty(_message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { eventBus.post(new ClusterManagerShutdownRequest()); } } }, 0, 1, TimeUnit.SECONDS);
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor.getProperty( _message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { GobblinTaskRunner.this.stop(); } } }, 0, 1, TimeUnit.SECONDS);
private void updateMessageState(List<Message> readMsgs, HelixDataAccessor accessor, String instanceName) { Builder keyBuilder = accessor.keyBuilder(); List<PropertyKey> readMsgKeys = new ArrayList<>(); for (Message msg : readMsgs) { readMsgKeys.add(msg.getKey(keyBuilder, instanceName)); _knownMessageIds.add(msg.getId()); } accessor.setChildren(readMsgKeys, readMsgs); }
private void updateMessageState(List<Message> readMsgs, HelixDataAccessor accessor, String instanceName) { Builder keyBuilder = accessor.keyBuilder(); List<PropertyKey> readMsgKeys = new ArrayList<>(); for (Message msg : readMsgs) { readMsgKeys.add(msg.getKey(keyBuilder, instanceName)); _knownMessageIds.add(msg.getId()); } accessor.setChildren(readMsgKeys, readMsgs); }
@Override public Object call() { for (Map.Entry<String, Map<String, Message>> entry : pendingMessagesToPurge.entrySet()) { String instanceName = entry.getKey(); for (Message msg : entry.getValue().values()) { if (accessor.removeProperty(msg.getKey(accessor.keyBuilder(), instanceName))) { LogUtil.logInfo(logger, _eventId, String .format("Deleted message %s from instance %s", msg.getMsgId(), instanceName)); } } } return null; } });
@Override public Object call() { for (Map.Entry<String, Map<String, Message>> entry : pendingMessagesToPurge.entrySet()) { String instanceName = entry.getKey(); for (Message msg : entry.getValue().values()) { if (accessor.removeProperty(msg.getKey(accessor.keyBuilder(), instanceName))) { LogUtil.logInfo(logger, _eventId, String .format("Deleted message %s from instance %s", msg.getMsgId(), instanceName)); } } } return null; } });
/** * Remove the given message from ZK using the given accessor. This function will * not throw exception * @param accessor HelixDataAccessor * @param msg message to remove * @param instanceName name of the instance on which the message sits * @return true if success else false */ public static boolean removeMessageFromZK(HelixDataAccessor accessor, Message msg, String instanceName) { try { return accessor.removeProperty(msg.getKey(accessor.keyBuilder(), instanceName)); } catch (Exception e) { LOG.error("Caught exception while removing message {}.", msg, e); } return false; }
/** * Remove the given message from ZK using the given accessor. This function will * not throw exception * @param accessor HelixDataAccessor * @param msg message to remove * @param instanceName name of the instance on which the message sits * @return true if success else false */ public static boolean removeMessageFromZK(HelixDataAccessor accessor, Message msg, String instanceName) { try { return accessor.removeProperty(msg.getKey(accessor.keyBuilder(), instanceName)); } catch (Exception e) { LOG.error("Caught exception while removing message {}.", msg, e); } return false; }
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor .getProperty(_message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { eventBus.post(new ClusterManagerShutdownRequest()); } } }, 0, 1, TimeUnit.SECONDS);
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor .getProperty(_message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { eventBus.post(new ClusterManagerShutdownRequest()); } } }, 0, 1, TimeUnit.SECONDS);
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor .getProperty(_message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { GobblinTaskRunner.this.stop(); } } }, 0, 1, TimeUnit.SECONDS);
@Override public void run() { HelixManager helixManager = _notificationContext.getManager(); HelixDataAccessor helixDataAccessor = helixManager.getHelixDataAccessor(); HelixProperty helixProperty = helixDataAccessor.getProperty( _message.getKey(helixDataAccessor.keyBuilder(), helixManager.getInstanceName())); // The absence of the shutdown message indicates it has been removed if (helixProperty == null) { GobblinTaskRunner.this.stop(); } } }, 0, 1, TimeUnit.SECONDS);
msg.setFromState("SLAVE"); msg.setToState("MASTER"); dataAccessor.setProperty(msg.getKey(keyBuilder, instanceName), msg); msgList.add(msg); dataAccessor.setProperty(msgList.get(2).getKey(keyBuilder, instanceName), msgList.get(2)); executor.onMessage(instanceName, Arrays.asList(msgList.get(2)), changeContext); Thread.sleep(200);
dupMsg.getRecord().setListFields(sourceMsg.getRecord().getListFields()); dupMsg.getRecord().setMapFields(sourceMsg.getRecord().getMapFields()); accessor.setProperty(dupMsg.getKey(accessor.keyBuilder(), dupMsg.getTgtName()), dupMsg); Thread.sleep(1000); accessor.setProperty(dupMsg.getKey(accessor.keyBuilder(), dupMsg.getTgtName()), dupMsg); Thread.sleep(1000); messages = accessor.getChildNames(keyBuilder.messages("localhost_0"));