Package com.hazelcast.jet.core
Enum Edge.RoutingPolicy
- java.lang.Object
-
- java.lang.Enum<Edge.RoutingPolicy>
-
- com.hazelcast.jet.core.Edge.RoutingPolicy
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable<Edge.RoutingPolicy>
- Enclosing class:
- Edge
public static enum Edge.RoutingPolicy extends java.lang.Enum<Edge.RoutingPolicy> implements java.io.Serializable
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.
-
-
Enum Constant Summary
Enum Constants Enum Constant Description 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.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.PARTITIONED
This policy sends every item to the one processor responsible for the item's partition ID.UNICAST
This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static Edge.RoutingPolicy
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name.static Edge.RoutingPolicy[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
-
-
Enum Constant Detail
-
UNICAST
public static final Edge.RoutingPolicy UNICAST
This policy chooses for each item a single destination processor from the candidate set, with no restriction on the choice.
-
ISOLATED
public static final Edge.RoutingPolicy 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
public static final Edge.RoutingPolicy 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
public static final Edge.RoutingPolicy BROADCAST
This policy sends each item to all candidate processors.
-
FANOUT
public static final Edge.RoutingPolicy 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 Detail
-
values
public static Edge.RoutingPolicy[] values()
Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:for (Edge.RoutingPolicy c : Edge.RoutingPolicy.values()) System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
public static Edge.RoutingPolicy valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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:
java.lang.IllegalArgumentException
- if this enum type has no constant with the specified namejava.lang.NullPointerException
- if the argument is null
-
-