Description of problem: Cluster code uses XML methods to replicate in-memory objects (DeliveryRecord, TxOps etc.) to new members. The problem is that there's no indication in e.g. the DeliveryRecord code that developers modifying DeliveryRecord won't be aware of the need to also modify the corresponding cluster.xml definition and cluster code. Solution: All objects replicated in the cluster should provide encode/encodedSize/decode, the cluster will use these rather than XML methods to replicate the objects. These methods will be present in e.g. DeliveryRecord so developers modifying DeliveryRecord will be more easily able to keep the encode/decode in sync.
This issue will ultimately be resolved by the clustered-queue design work that is ongoing.