OpenJDK bug database: DRAFT Developer Workflow

Joe Darcy joe.darcy at oracle.com
Wed Dec 14 19:28:37 UTC 2011


Hi Iris.

Thanks for sending this draft out.

To add to some of the discussions that have already occurred around 
possible workflows, rather than being a pure boolean value, the fixed 
state could have, say a set of URLs associated with it.  The URLs could 
be pointers to the Hg changesets comprising to the fix.

(The Sun legacy bug system had different states for "fixed 
available"/"fixed" and "fixed delivered"/"integrated."  A bug is 
considered fixed when it is pushed to a staging repository like TL and a 
bug is considered integrated when it hits the master repository.  So the 
old bug state model implicitly assumes two levels of managed 
repositories, which is not always a valid assumption.  For example, for 
OpenJDK 6, we only have a one-level master repository so the fixed state 
on an OpenJDK 6 bug was an invalid condition.  Since the fixed and 
integrated states differ only in *where* the fix is present, I think 
modeling that fact more directly in the set of states is preferable.)

If a fixed state with URLs is decided upon, it would be convenient if 
the Hg push hooks for the repositories automatically updated the bug 
with the changeset URL.

Some other comments on the state model.  There may be value in having a 
new "resolved" state with "verified" and "unverified" substates.  With 
those states, the usual sets of transitions would be

dispatched -> accepted -> understood -> fix in progress -> fixed -> resolved

The state model influences what is easy to query for.  As one of the 
many masters of a  bug system, as an engineer I'd like the following 
query to be very easy to issue: what is the set of issues that were 
successfully resolved in a release because of code changes on my part?  
Having multiple substates of "closed" corresponding to this situation 
complicates the query.

(Again commenting on the legacy JDK bug system, previously "integrated" 
was the expected terminal state of a successful bug fix.  However, more 
recently the quality team is supposed to verify whether or not fixes are 
present and valid  so the expected terminal state is now "closed - 
verified" or sometimes "closed - unverified", which is inconvenient to 
query for in some of the main tools used to work with the bug system.)

If the fix failed state is going to be kept, having it as a substate of 
closed is better than preserving it as its own state.  Given the jcheck 
rules against reusing bug ids, if a fix has failed, a new bug has to be 
filed to resolve the problem.

Cheers,

-Joe


On 12/13/2011 11:39 AM, Iris Clark wrote:
> Hi!
>
> I'm defining requirements for the OpenJDK bug database [1].  As one
> would guess, it's not easy.  We have more than 15 years of data,
> process evolution, and supporting tools that we need to consider.
> Opinions on the effectiveness of existing process and tools vary.
> Many people with different roles (end-users, developers, quality,
> release management, etc.) need to be able to access the system.
>
> I've written a preliminary draft of what the pilot workflow for bugs
> and RFEs might look like.  It is based on the existing bug system with
> modifications to omit portions that aren't used.  There is no
> requirement that we stick closely to this draft, though any changes
> will need to consider the impact on data migration.  It still needs
> quite a bit of work.
>
>    http://cr.openjdk.java.net/~iris/jira/JIRAforOpenJDK.html
>
> Please send feedback/comments to this mailing list.  I'll provide
> regular updates as feedback is incorporated and I fill in other
> sections of the document.
>
> Thanks,
> iris
>
> [1] http://mail.openjdk.java.net/pipermail/announce/2011-October/000112.html



More information about the discuss mailing list