Stream definitions for the graph.
Store the n poorest masters.
Store the n poorest masters. Implemented on scala.mutable.PriorityQueue.
The entire cluster will meet the new nodes at the given URIs.
The entire cluster will meet the new nodes at the given URIs. If the connection to a node fails, then retry until it succeeds.
The list of URI of the new nodes.
The thread dispatcher context.
The list of URI if the nodes were met. TODO: emit only the nodes that were successfully added.
Emit a key-value representing the node-type and the node-id.
Emit a key-value representing the node-type and the node-id.
the node type and id.
Set the n new slave nodes to replicate the poorest (fewest slaves) n masters.
Set the n new slave nodes to replicate the poorest (fewest slaves) n masters.
The list of ip addresses of the slaves that will be added to the cluster. Hostnames are not acceptable.
The thread dispatcher context.
Indicate that the n new slaves are replicating the poorest n masters.
Notify all nodes in the cluster to forget this node.
Notify all nodes in the cluster to forget this node.
The list of ids of nodes to be forgotten by the cluster.
The thread dispatcher context.
A future indicating that the node was forgotten by all nodes in the cluster.
Log the current view of the cluster topology.
Log the current view of the cluster topology.
The thread dispatcher context.
Migrate all keys in a slot from the source node to the destination node and update the slot assignment on the affected nodes.
Migrate all keys in a slot from the source node to the destination node and update the slot assignment on the affected nodes.
The slot to migrate.
The current location of the slot data.
The target location of the slot data.
The list of nodes in the cluster that will be assigned hash slots.
The list of connections to nodes in the cluster.
The thread dispatcher context.
Future indicating success.
Notify all master nodes of a slot assignment so that they will immediately be able to redirect clients.
Notify all master nodes of a slot assignment so that they will immediately be able to redirect clients.
The node that should be assigned the slot
The list of nodes in the cluster that will be assigned hash slots.
The thread dispatcher context.
Future indicating success.
Wait for the new cluster topology view to propagate to all nodes in the cluster.
Wait for the new cluster topology view to propagate to all nodes in the cluster. May not be strictly necessary since this microservice immediately attempts to notify all nodes of topology updates.
The value that will be passed through to the next map stage.
The thread dispatcher context.
The unmodified input value.
Wait for the new cluster topology view to propagate to all nodes in the cluster.
Wait for the new cluster topology view to propagate to all nodes in the cluster. Same version as above, but this time takes two passthroughs and returns tuple of them as future.
The first value that will be passed through to the next map stage.
The second value that will be passed through to the next map stage.
The thread dispatcher context.
The unmodified input value.