Sounds like #2 has a clear lead. Couple of suggestions.

1. How do we know the reviewer to specify? In many cases, we informally know a 
likely person. Community members may not be sure. Or, can a committer watch for 
such cases and do the assignment?

2. As it turns out, JIRA does not send an e-mail notification when assigning 
someone as a Reviewer. Instead, perhaps include a brief comment, mentioning 
that person, to force JIRA to alert the Reviewer that they have a new item.

As a follow up, anyone know if we can lobby Apache to add status states? That 
is, to add the states that Julian suggested? Typical workflow: Open -> In 
Progress -> Reviewable -> Ready to Commit -> Resolved.

(Actually, if we include QA activities, the flow should be Resolved —> 
Verified. But, that is a different discussion.)

The list of states (visible from clicking Resolve), includes some odd items 
such as “Staged” and “REMIND”, which seem like specialized states added for 
ad-hoc purposes...

Thanks,

- Paul

> On Nov 29, 2016, at 9:23 AM, Julian Hyde <jhyde.apa...@gmail.com> wrote:
> 
> I like 2 also. 
> 
> Is the following variant of 2 possible in JIRA? Make the "ready to commit" 
> flag into a status. Thus status changes from "open" to "in progress" to 
> "reviewable" to "ready to commit" (or "approved").
> 
> The inability to search by assignee should not be a huge problem - it is in 
> the interests of the project to ensure that the number of cases in 
> "reviewable" or "ready to commit" state at any moment is small. 
> 
> And furthermore, the author of a bug often doesn't know or care who will 
> review or commit it. So the very notion of an assignee is suspect.
> 
> Julian
> 
>> On Nov 29, 2016, at 07:53, Aman Sinha <amansi...@apache.org> wrote:
>> 
>> My preference is for #2 because of the reasons you mention.  For #1 my
>> recollection is the DrillCommitter was used at a time when there were only
>> couple of committers.  Today there are many.  Changing to DrillCommitter
>> will leave ambiguity about which committer should look at it.
>> Additionally,  I feel that today we are not using the field 'Reviewer' for
>> its correct purpose.  This argues for #2.
>> 
>> One note about #2 worth mentioning is that folks would have to change their
>> search criteria  to 'assigned *OR reviewer*' to find out what is on their
>> plate.
>> 
>>> On Mon, Nov 28, 2016 at 4:51 PM, Zelaine Fong <zf...@maprtech.com> wrote:
>>> 
>>> I'd like to propose a small change to the current process for code reviews
>>> in Apache Drill.  We need this change because non-committers are becoming
>>> more involved in code reviews.
>>> 
>>> The current process is described at
>>> https://drill.apache.org/docs/apache-drill-contribution-
>>> guidelines/#step-3:-get-your-code-reviewed-and-committed-to-the-project.
>>> It assumes that the individuals doing code reviews are code committers.
>>> Here's a brief summary of the process:
>>> 
>>> *Current Process:*
>>> Currently, the workflow is based on updating the Status and Assignee
>>> fields.  When a pull request has been posted and is ready for review, the
>>> issue status is changed to "Reviewable" and the Assignee is changed to the
>>> designated code reviewer.  If the review is completed and the reviewer is a
>>> committer, the reviewer/committer will commit the change. If the code
>>> reviewer has comments that require the contributor to address, the issue
>>> status changes back to "In Progress" and the Assignee is changed back to
>>> the contributor.
>>> 
>>> *Proposed Change:*
>>> The proposed change is to address the case where another step may be needed
>>> to commit changes, if the changes have been reviewed by a non-committer.
>>> Here are a couple of proposals on how to address this.  In both cases, once
>>> a review has been satisfactorily completed on a pull request, a committer
>>> will take over, bless the changes based on the prior review comments, do a
>>> +1 on the patch, and then commit.
>>> 
>>> 
>>> *Proposal #1:*When a fix is ready to be reviewed, set the Assignee to
>>> "DrillCommitter".
>>> 
>>> Pros: Simple.  User "DrillCommitter" already exists.
>>> Cons: Similar to changing the Assignee to the code reviewer, you lose track
>>> of who is the original contributor of an issue.  Yes, it's in the comment
>>> history, but there is no automated/easy way to get this info.
>>> 
>>> *Proposal #2:*
>>> Leave the Assignee field unchanged.  This is also means changing the
>>> current process of changing the Assignee to the code reviewer.  Instead,
>>> 
>>> 1) Continue to set the Status to "Reviewable" to indicate that the fix is
>>> ready for review, but set the Reviewer field to the designated code
>>> reviewer.
>>> 2) If changes are needed after code review, change the status of the issue
>>> back to "In Progress" as today.  But again, don't change the Assignee.
>>> 3) If the changes are acceptable, the reviewer applies the
>>> "ready-to-commit" tag on the Jira.
>>> 
>>> Pros: Maintains Assignee field
>>> Cons: Requires querying for the tag "ready-to-commit" to find commit-ready
>>> fixes.
>>> 
>>> Please comment with your preferences for proposal 1 or 2, or if you have
>>> other suggestions.
>>> 
>>> Thanks.
>>> 
>>> -- Zelaine
>>> 

Reply via email to