Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

QuestionOutcome
What permissions should be required/checked when receiving data from a load balancing protocol?

Currently, there is a policy for "Modify the Data". We should require that the node sending data has been granted this permission.

Currently, Connections themselves do not have permissions, however.This is driven by the Source and Destination components, so in order for a node to be able to load balance the data across the cluster, all nodes should be given permission to "Modify the Data" for the source and destination processors. This is typically managed best by managing at the Process Group level.

How should Disconnected nodes be handled?

A node that has been disconnected from the cluster should continue to Load Balance the data in its queue to all nodes in the cluster. However, the nodes that are connected should not send data to the disconnected node.

This approach mimics how the Site-to-Site works today and lays the groundwork for later work to decommission a node in a cluster. If a node is disconnected, then it will not receive any new notifications about cluster topology updates. Therefore, it is possible that it will start sending the data to the wrong node if using the "Partition by Attribute" strategy. This needs to be acceptable, and the node that receives such data needs to be responsible for determining which node in the cluster should receive the data and distributing the data appropriately.

Do we need a "Static Partitioning Strategy"? This would allow the user to specify one node in the cluster and all data would be distributed directly to this node. This could be accomplished by using the "Partition by Attribute" and setting the attribute to a non-existent attribute such as "I Do Not Exist" but then all connections that do this would go to the same node and the User Experience is subpar. Exposing a specific strategy to allow the user to choose a node makes it such that the user can choose for each connection which node the data should go to and can therefore distribute data more explicitly.

Not Doing