Here are some general guidelines for distributed programming with ActiveSpaces® Transactions .
All modifications to a distributed object should be done on one node. This reduces the chance of state conflicts which cause performance degradation. The best way to enforce this is to use methods to perform field updates. The method will execute on the master node transparently.
Eliminate distributed deadlocks from an application. Distributed deadlock detection uses a timeout to detect a deadlock. This implies that a distributed transaction will wait the entire value of the timeout value before a deadlock is reported. During this period of time the transaction is stalled.
A high availability partition with a single node in the node list can be used to create an object instance on a specific node.
Distributed queries should be used to discover remote references for nodes in a cluster.
Evaluate which nodes the application classes must be installed on. A classs must be installed on all nodes that create or host distributed objects.