Package com.hazelcast.jet.core
Enum Class Edge.RoutingPolicy
- All Implemented Interfaces:
Serializable
,Comparable<Edge.RoutingPolicy>
,Constable
- Enclosing class:
- Edge
An edge describes a connection from many upstream processors to many
downstream processors. The routing policy decides where exactly to route
each particular item emitted from an upstream processor. To simplify
the reasoning we introduce the concept of the set of candidate
downstream processors, or the candidate set for short. On
a local edge the candidate set contains only local processors and on a
distributed edge it contains all the processors.
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Enum Constant Summary
Enum ConstantDescriptionThis policy sends each item to all candidate processors.This policy sends an item to all members, but only to one processor on each member.This policy sets up isolated parallel data paths between two vertices as much as it can, given the level of mismatch between the local parallelism (LP) of the upstream vs. the downstream vertices.This policy sends every item to the one processor responsible for the item's partition ID.This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice. -
Method Summary
Modifier and TypeMethodDescriptionstatic Edge.RoutingPolicy
Returns the enum constant of this class with the specified name.static Edge.RoutingPolicy[]
values()
Returns an array containing the constants of this enum class, in the order they are declared.
-
Enum Constant Details
-
UNICAST
This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice. -
ISOLATED
This policy sets up isolated parallel data paths between two vertices as much as it can, given the level of mismatch between the local parallelism (LP) of the upstream vs. the downstream vertices. Specifically:- If LP_upstream <= LP_downstream, every downstream processor receives data from only one upstream processor
- If LP_upstream >= LP_downstream, every upstream processor sends data to only one downstream processor
This policy is only available on a local edge.
-
PARTITIONED
This policy sends every item to the one processor responsible for the item's partition ID. On a distributed edge, this processor is unique across the cluster; on a non-distributed edge, the processor is unique only within a member. -
BROADCAST
This policy sends each item to all candidate processors. -
FANOUT
This policy sends an item to all members, but only to one processor on each member. It's a combination ofBROADCAST
andUNICAST
: an item is first broadcast to all members, and then, on each member, it is unicast to one processor.If the destination local parallelism is 1, the behavior is equal to
BROADCAST
. If the member count in the cluster is 1, the behavior is equal toUNICAST
.To work as expected, the edge must be also
Edge.distributed()
. Otherwise, it will work just likeUNICAST
.- Since:
- Jet 4.4
-
-
Method Details
-
values
Returns an array containing the constants of this enum class, in the order they are declared.- Returns:
- an array containing the constants of this enum class, in the order they are declared
-
valueOf
Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum class has no constant with the specified nameNullPointerException
- if the argument is null
-