private PropertyKey externalViewKey(PropertyKey.Builder keyBuilder, String resource) { PropertyKey evPropertyKey; if (_type.equals(PropertyType.EXTERNALVIEW)) { evPropertyKey = keyBuilder.externalView(resource); } else if (_type.equals(PropertyType.TARGETEXTERNALVIEW)) { evPropertyKey = keyBuilder.targetExternalView(resource); } else { throw new HelixException( "Failed to refresh ExternalViewCache, Wrong property type " + _type + "!"); } return evPropertyKey; }
private PropertyKey externalViewKey(PropertyKey.Builder keyBuilder, String resource) { PropertyKey evPropertyKey; if (_type.equals(PropertyType.EXTERNALVIEW)) { evPropertyKey = keyBuilder.externalView(resource); } else if (_type.equals(PropertyType.TARGETEXTERNALVIEW)) { evPropertyKey = keyBuilder.targetExternalView(resource); } else { throw new HelixException( "Failed to refresh ExternalViewCache, Wrong property type " + _type + "!"); } return evPropertyKey; }
private PropertyKey externalViewsKey(PropertyKey.Builder keyBuilder) { PropertyKey evPropertyKey; if (_type.equals(PropertyType.EXTERNALVIEW)) { evPropertyKey = keyBuilder.externalViews(); } else if (_type.equals(PropertyType.TARGETEXTERNALVIEW)) { evPropertyKey = keyBuilder.targetExternalViews(); } else { throw new HelixException( "Failed to refresh ExternalViewCache, Wrong property type " + _type + "!"); } return evPropertyKey; }
private PropertyKey externalViewsKey(PropertyKey.Builder keyBuilder) { PropertyKey evPropertyKey; if (_type.equals(PropertyType.EXTERNALVIEW)) { evPropertyKey = keyBuilder.externalViews(); } else if (_type.equals(PropertyType.TARGETEXTERNALVIEW)) { evPropertyKey = keyBuilder.targetExternalViews(); } else { throw new HelixException( "Failed to refresh ExternalViewCache, Wrong property type " + _type + "!"); } return evPropertyKey; }
@Override @PreFetch(enabled = false) public void onStateChange(String instanceName, List<CurrentState> statesInfo, NotificationContext changeContext) { if (_sourceDataType.equals(PropertyType.CURRENTSTATES)) { _routerUpdater.queueEvent(changeContext, ClusterEventType.CurrentStateChange, HelixConstants.ChangeType.CURRENT_STATE); } else { logger.warn( "RoutingTableProvider does not use CurrentStates as source, ignore CurrentState changes!"); } }
@Override @PreFetch(enabled = false) public void onStateChange(String instanceName, List<CurrentState> statesInfo, NotificationContext changeContext) { if (_sourceDataType.equals(PropertyType.CURRENTSTATES)) { _routerUpdater.queueEvent(changeContext, ClusterEventType.CurrentStateChange, HelixConstants.ChangeType.CURRENT_STATE); } else { logger.warn( "RoutingTableProvider does not use CurrentStates as source, ignore CurrentState changes!"); } }
NotificationContext changeContext) { HelixConstants.ChangeType changeType = changeContext.getChangeType(); if (changeType != null && !changeType.getPropertyType().equals(_sourceDataType)) { logger.warn( "onExternalViewChange called with mismatched change types. Source data type {}, changed data type: {}", } else { ClusterEventType eventType; if (_sourceDataType.equals(PropertyType.EXTERNALVIEW)) { eventType = ClusterEventType.ExternalViewChange; } else if (_sourceDataType.equals(PropertyType.TARGETEXTERNALVIEW)) { eventType = ClusterEventType.TargetExternalViewChange; } else {
NotificationContext changeContext) { HelixConstants.ChangeType changeType = changeContext.getChangeType(); if (changeType != null && !changeType.getPropertyType().equals(_sourceDataType)) { logger.warn( "onExternalViewChange called with mismatched change types. Source data type {}, changed data type: {}", } else { ClusterEventType eventType; if (_sourceDataType.equals(PropertyType.EXTERNALVIEW)) { eventType = ClusterEventType.ExternalViewChange; } else if (_sourceDataType.equals(PropertyType.TARGETEXTERNALVIEW)) { eventType = ClusterEventType.TargetExternalViewChange; } else {
if (_sourceDataType.equals(PropertyType.TARGETEXTERNALVIEW) && _propertyDataChangedMap .get(HelixConstants.ChangeType.TARGET_EXTERNAL_VIEW)) { long start = System.currentTimeMillis(); if (_sourceDataType.equals(PropertyType.CURRENTSTATES) && _propertyDataChangedMap .get(HelixConstants.ChangeType.CURRENT_STATE)) { long start = System.currentTimeMillis();
if (_sourceDataType.equals(PropertyType.TARGETEXTERNALVIEW) && _propertyDataChangedMap .get(HelixConstants.ChangeType.TARGET_EXTERNAL_VIEW)) { long start = System.currentTimeMillis(); if (_sourceDataType.equals(PropertyType.CURRENTSTATES) && _propertyDataChangedMap .get(HelixConstants.ChangeType.CURRENT_STATE)) { long start = System.currentTimeMillis();
@Override @PreFetch(enabled = true) public void onLiveInstanceChange(List<LiveInstance> liveInstances, NotificationContext changeContext) { if (_sourceDataType.equals(PropertyType.CURRENTSTATES)) { // Go though the live instance list and update CurrentState listeners updateCurrentStatesListeners(liveInstances, changeContext); } _routerUpdater.queueEvent(changeContext, ClusterEventType.LiveInstanceChange, HelixConstants.ChangeType.LIVE_INSTANCE); }
@Override @PreFetch(enabled = true) public void onLiveInstanceChange(List<LiveInstance> liveInstances, NotificationContext changeContext) { if (_sourceDataType.equals(PropertyType.CURRENTSTATES)) { // Go though the live instance list and update CurrentState listeners updateCurrentStatesListeners(liveInstances, changeContext); } _routerUpdater.queueEvent(changeContext, ClusterEventType.LiveInstanceChange, HelixConstants.ChangeType.LIVE_INSTANCE); }
public RoutingTableProviderMonitor(final PropertyType propertyType, String clusterName) { _propertyType = propertyType; _clusterName = clusterName == null ? DEFAULT : clusterName; // Don't put instanceName into sensor name. This detail information is in the MBean name already. _sensorName = String .format("%s.%s.%s", MonitorDomainNames.RoutingTableProvider.name(), _clusterName, _propertyType.name()); _dataRefreshLatencyGauge = new HistogramDynamicMetric("DataRefreshLatencyGauge", new Histogram( new SlidingTimeWindowArrayReservoir(DEFAULT_RESET_INTERVAL_MS, TimeUnit.MILLISECONDS))); _callbackCounter = new SimpleDynamicMetric("CallbackCounter", 0l); _eventQueueSizeGauge = new SimpleDynamicMetric("EventQueueSizeGauge", 0l); _dataRefreshCounter = new SimpleDynamicMetric("DataRefreshCounter", 0l); if (propertyType.equals(PropertyType.CURRENTSTATES)) { _statePropLatencyGauge = new HistogramDynamicMetric("StatePropagationLatencyGauge", new Histogram( new SlidingTimeWindowArrayReservoir(DEFAULT_RESET_INTERVAL_MS, TimeUnit.MILLISECONDS))); } }