WTP PMC Defect Review
- 1 WTP PMC Defect Review
- 1.1 How many votes are needed?
- 1.2 How To Prepare a PMC Defect Candidate
- 1.3 How To Get a PMC Defect Fix Candidate Approved
- 1.4 PMC Members, How to vote
- 1.5 Q & A
- 1.6 References
WTP PMC Defect Review
As the end of a release cycle nears, WTP needs to add some governance in order to maintain stability and quality in the face of the upcoming deadline. To this end, a PMC review process will occur.
Additionally, while extremely rare, there are some problems that can not be solved without a change in API behavior. Since these changes can have very large impact on adopters investments, any change in the behavior of a released API (whether in maintenance release or not) requires PMC review and approval. If a PMC Review is being requested due to an API change, the developer or Project Lead should add an explicit comment "PMC Review requested due to API change".
Important Note - The PMC Review is not an in depth technical accuracy review, but a general risk management analysis of possible benefits and associated risks of including a proposed fix. Unless it's a Blocker or Critical (crashes Eclipse or causes data loss), think hard about whether it needs to go into this particular release and not wait for the next quarter's.
How many votes are needed?
As of the switch to quarterly SimRels, due to the compressed time span, the rule is:
- RC1 (begin PMC +1 after declare)
- RC2 (begin PMC +2 after declare, but by then it's Quiet Week and you'll need to make a strong case for the change)
How To Prepare a PMC Defect Candidate
The answers to the following bullets must be incorporated into the Bugzilla entry before a defect will be considered for PMC approval:
- Explain why you believe this is a stop-ship defect. Or, if it is a "hotbug" (requested by an adopter) please document it as such.
- Is there a work-around? If so, why do you believe the work-around is insufficient?
- How has the fix been tested? Is there a test case attached to the bugzilla record? Has a JUnit Test been added?
- Give a brief technical overview. Who has reviewed this fix?
- What is the risk associated with this fix?
How To Get a PMC Defect Fix Candidate Approved
Overview of Steps Required:
- Developer fixes defect and attaches fix patch to the defect or a referencing Gerrit change.
- Developer also adds documentation about the fix and why it is a must fix (using the template: How To Prepare a PMC Defect Candidate).
- Developer asks for Project Lead (or delegate) review and the Project Lead (or their delegate) documents their technical review (set the review flag) and approval.
- Project Lead (or their delegate) then:
- Puts "PMC" in the Status Whiteboard field.
- Adds the following to the pmc_approved flag with a "?". You can copy/paste the whole line in one field.
- email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com
- This will add PMC approval flags for each PMC member and automatically send the PMC member an email.
- PMC members review and vote. A single negative vote will reject a defect and usually a minimum of two positive votes is required for approval. It is incumbent on the PMC to do anything possible to perform reviews within 24 hours.
- If approval is given, the developer may then commit and push the changes for a build.
- If the Project Lead (or their delegate) does not get 24 hour turnaround on approvals, they should send a note to wtp-pmc with a link to the defect.
PMC Members, How to vote
- Instead of using a comment to indicate "+1", you need to update the "pmc_approved" flag for your email address with a "+" for approve and a "-" for reject.
- Note that it is the votes (and number of votes) that determines if/when a fix is "approved". Eventually, as an administrative task, the white board status field will be changed from 'PMC' to 'PMC_approved' by a PMC member or the Releng Lead. It is important to have this field up to date only when increasing the 'number of votes required for approval', or else the summary page may start to show previously approved fixes as still needing more votes.
Q & A
- Q: Do JUnit changes require PMC approval as well?
- A: Committers can release JUnit changes without waiting for approval, however the bug should still be marked for PMC review as usual. This so so everyone would be informed of the changes in case if it caused a build break or if teams are wondering why a build was kicked off when no changes were released.