Ticket #183 (closed defect: fixed)
Opened 9 years ago
Superfluous patches for newly marshaled objects
| Reported by: | Bernhard Haumacher (haui at haumacher dot de) | Owned by: | |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.0 |
| Component: | uka.karo | Version: | |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Patches are sent to all ranks that have actually a copy of the corresponding object. If a modified reference is transmitted to a rank, where the target object is not available, this object is marshaled along with the patch. But marshaling an object modifies its distribution. If an object is replicated to more than two ranks, the situation can occur, where within one update an object is marshaled to a target rank and a patch for that object is sent later on to the same rank, where this object is already up to date, because it was marshaled during the same update.
Solution
The decision whether to send a patch to a certain rank must be based on the state of the distribution that was valid at the beginning of the updated. Fortunately, the distribution is also versioned, and a backup copy of the distribution exists to detect changes in the distribution for sending incremental distribution updates (see ticket:206). This backup copy can also be used to decide about the patch distribution.
fixed since 1.08b.
