Class HelixGroupRoutingStrategy
java.lang.Object
com.linkedin.venice.fastclient.meta.AbstractClientRoutingStrategy
com.linkedin.venice.fastclient.meta.HelixGroupRoutingStrategy
- Direct Known Subclasses:
- HelixLeastLoadedGroupRoutingStrategy
This strategy will assign an ordering of helix groups via round-robin for even distribution. The fanout in multi-get
 will be performed using instances belonging to the assigned groups. If no instance belonging to the selected group is
 found for a given partition, the instance with the next group in the assigned ordering will be used
- 
Field SummaryFieldsModifier and TypeFieldDescriptionprotected AtomicReference<HelixGroupInfo>protected final HelixGroupStatsprotected final InstanceHealthMonitor
- 
Constructor SummaryConstructorsConstructorDescriptionHelixGroupRoutingStrategy(InstanceHealthMonitor instanceHealthMonitor, io.tehuti.metrics.MetricsRepository metricsRepository, String storeName) 
- 
Method SummaryModifier and TypeMethodDescriptionintintgetHelixGroupId(long requestId, int groupIdForOriginalRequest) getReplicas(long requestId, int groupId, List<String> replicas) booleantrackRequest(RequestContext requestContext) This method is used to track the request for any custom logic that needs to be executed when a request is sent.voidupdateHelixGroupInfo(Map<String, Integer> instanceToHelixGroupIdMap) 
- 
Field Details- 
helixGroupInfoAtomicReference
- 
instanceHealthMonitor
- 
helixGroupStats
 
- 
- 
Constructor Details- 
HelixGroupRoutingStrategypublic HelixGroupRoutingStrategy(InstanceHealthMonitor instanceHealthMonitor, io.tehuti.metrics.MetricsRepository metricsRepository, String storeName) 
 
- 
- 
Method Details- 
getReplicas- Overrides:
- getReplicasin class- AbstractClientRoutingStrategy
 
- 
getGroupCountpublic int getGroupCount()
- 
updateHelixGroupInfo- Overrides:
- updateHelixGroupInfoin class- AbstractClientRoutingStrategy
 
- 
getHelixGroupIdpublic int getHelixGroupId(long requestId, int groupIdForOriginalRequest) - Overrides:
- getHelixGroupIdin class- AbstractClientRoutingStrategy
 
- 
trackRequestDescription copied from class:AbstractClientRoutingStrategyThis method is used to track the request for any custom logic that needs to be executed when a request is sent.- Overrides:
- trackRequestin class- AbstractClientRoutingStrategy
- Returns:
- boolean to indicate whether the request is tracked or not.
 
 
-