[MERGE][#354036] Server-side (sink-side) fix for missing inventory parents
Andrew Bennetts
andrew.bennetts at canonical.com
Fri Apr 17 15:15:19 BST 2009
This fix changes StreamSink to check for missing inventory parents in the
uncommitted data (at the same point that it checks for missing compression
parents). The most important effect of this is that it will cause HPSS
clients without the fix for 354036 (i.e. 1.13.1) to do the right thing,
because the server will explicitly ask them for the missing keys they should
have sent. A secondary effect is that if the other half of the fix for
354036 fails, then we'll still do the right thing (so it's a bit of a safety
net). We still want the source to generate a complete stream in the first
place (to avoid unnecessary round trips between the source and the sink), of
course, so the fix that's already in place is still desirable.
I'm not totally thrilled by adding two more methods to Repository's
interface (get_missing_parent_inventories and new_revisions), but in the end
I don't see any good alternative. What's needed is a way to find out what
new revisions were added in the active (uncommitted) write group and then
check that their inventory deltas are present, and Repository is the best
place for that. Perhaps if we had an explicit WriteGroup object some of the
code might live there, but we don't...
The test is a bit too long too, but it does the job.
Some of the code this adds would be useful as the basis of a fixup script
for branches that are already affected by this bug.
-Andrew.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stacking-inventory-part-2-4272.patch
Type: text/x-diff
Size: 20448 bytes
Desc: not available
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20090418/51c93843/attachment-0001.bin
More information about the bazaar
mailing list