Bug 207383 - UpdateBugStateTask removes Depends On / Blocks relationship when closing bugs
Summary: UpdateBugStateTask removes Depends On / Blocks relationship when closing bugs
Status: NEW
Alias: None
Product: Modeling
Classification: Modeling
Component: Releng (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Nick Boldt CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-10-24 21:34 EDT by Nick Boldt CLA
Modified: 2007-10-24 22:18 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Boldt CLA 2007-10-24 21:34:46 EDT
For example:

bug 206631 -> bug 206982: LOST (blocks)
bug 206631 -> bug 206983: KEPT (blocks)

bug 206608 -> bug 206612: LOST (blocks)
bug 206613 <- bug 206608: KEPT (depends)

bug 206605 <- bug 206574: KEPT (depends)

Could this be a problem with multiple dependencies being replaced with a single dependency, or an API change between Bugzilla 2.22 and 3.0?
Comment 1 Neil Skrypuch CLA 2007-10-24 22:18:21 EDT
Hmm, we had a similar issue before in bug 164363. Back then we just weren't parsing out and passing along that field.

Now it looks like Bugzilla represents multiple bug ids for a particular state in separate fields instead of in a single field separated by commas (though I'm not sure if we've ever dealt with multiple depends on/blocks for a bug before), see:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009,153023&ctype=xml

I'm fairly sure (though I haven't tested) that Bugzilla accepts comma separated strings of bug ids when you enter them, though. So, a reasonable solution would probably be to modify parseXML() to append ",$bugid" if that key is already set in the hashtable, instead of blindly inserting (and silently overwriting old data, if it was already set) every time. Note that you probably don't want to do that for all fields, as appending a couple hundred comments will be quite slow (since Java will create a new string every time).

That doesn't explain

bug 206608 -> bug 206612: LOST (blocks)

but that one could have been lost because there were 2 blocks/depends in bug 206612.