I have a system where the load is distributed across the nodes in the cluster and once an entity is assigned to particular node, it is taken to completion through that node only(distribution is saved in a table). If the owning node fails, the manager node can reassign it. 

It is desired that once any node joins the cluster, it takes up some of the load from other members. What makes this difficult is that the entities are updated all the time by the owning nodes thus making this reassignment difficult. Any ideas on how to make this reassignment possible without interrupting the running nodes. I understand that this depends a lot on the implementation but would like to know thoughts on this.

The entity is assigned to nodes through a queue to which all nodes register as listener.