Re: Adding/Using More Resolution Types on JIRA

2015-05-21 Thread Santiago Mola
Some examples to illustrate my point. A couple of issues from the oldest
open issues
in the SQL component:

[SQL] spark-sql exits while encountered an error
https://issues.apache.org/jira/browse/SPARK-4572
This is an incomplete report that nobody can take action on. It can be
resolved
as Incomplete, instead of Inactive. In fact, there is no need to wait
that much
to close it as Incomplete.

Using a field in a WHERE clause that is not in the schema does not throw an
exception
https://issues.apache.org/jira/browse/SPARK-5305
This is also Incomplete, it is not reproducible currently and it is
missing version info.

Rather than a need of these new statuses, it seems that there is a need of
more
people assessing and triaging new issues.

Best,
-- 

Santiago M. Mola


http://www.stratio.com/
Vía de las dos Castillas, 33, Ática 4, 3ª Planta
28224 Pozuelo de Alarcón, Madrid
Tel: +34 91 828 6473 // www.stratio.com // *@stratiobd
https://twitter.com/StratioBD*


Re: Adding/Using More Resolution Types on JIRA

2015-05-21 Thread Sean Owen
On Thu, May 21, 2015 at 9:06 PM, Santiago Mola sm...@stratio.com wrote:
 Inactive - A feature or bug that has had no activity from users or
 developers in a long time

 Why is this needed? Every JIRA listing can be sorted by activity. That gets
 the inactive ones out of your view quickly. I do not see any reason why an
 issue should be closed because of this. If it's inactive, maybe it's because
 it falls on some of the other categories (out of scope, later, won't fix).

I don't think sorting helps or that browsing is the issue. What if
you're searching for Open Critical issues concerning Pyspark? If the
list is full of issues that are actually out of scope, later, won't
fix, then that's a problem.

 That is a much more specific case than Inactivity, and a lot of large scale
 open source projects use specific resolutions for this.

Yes, that's CannotReproduce.

I think the walking-dead JIRAs we have in mind are some combination
of: a JIRA opened without a lot of detail, that might or might not be
a problem, nobody else seemed to have the problem and/or nobody cared
to investigate, much has changed since anyway so might be obsolete.
WontFix, CannotReproduce, NotAProblem are all possibly reasonable
resolutions. If this is just about semantics, I also don't feel a
strong need for a new state.


 On a more general note: what is the problem with open issues / pull requests?
 I see a tendency in the Spark project to do unusual things with issues / PRs
 just to maintain the numbers low. For example, closing PRs after a couple of
 weeks of inactivity just to shrink the queue or closing active issues just 
 for the
 shake of it.

 Honestly, this looks a lot like trying to game metrics. But maybe there is
 something that I am missing.

Game for whose benefit? nobody is being evaluated on this stuff. This
is being proposed for real reasons, not for fun.

A bunch of JIRA cruft is a symptom, not a cause. Something is wrong
somewhere if people file JIRAs and they go nowhere. Everyone's time is
wasted and with no conclusion, there's no feedback or learning
anywhere. So it keeps happening. Is it bad JIRAs? scope issues? lack
of follow up from developer or contributor? all of the above?

I actually think it's mostly bad JIRAs: too large, too invasive, not
that useful, hacky fixes to a facet of a problem, incomplete
description, duplicate, etc.

I think it's more useful to actually close these to communicate back
clearly what is not going to be accepted. Things can be reopened if
needed. Silently ignoring them forever as an Open JIRA seems less
constructive.


 Maybe what it is actually needed is to improve the lifecycle of an issue while
 it is alive, instead of trying to kill it earlier. Some examples of this that 
 are
 used on other projects are the incomplete status to signal that there is 
 more
 info required from the reporter in order to take further action. Also 
 confirmed
 to acknowledge that a bug is confirmed to be present and needs action by
 a developer.

Yes, best to try to make the process better. That's why I started with
things like a more comprehensive
https://cwiki.apache.org/confluence/display/SPARK/Contributing+to+Spark
to make better contributions in the first place. By the time dead
JIRAs are closed, something's already gone wrong and time has been
wasted. But we still need that culture of not letting stuff sit
around.

I don't mind the idea of an Unresolved InformationNeeded status,
yeah. I don't actually think that would solve a problem though. The
dead JIRAs are ones that never got any follow up, or, that got a lot
of follow-up from the contributor but aren't going to be merged.

-
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
For additional commands, e-mail: dev-h...@spark.apache.org



Re: Adding/Using More Resolution Types on JIRA

2015-05-21 Thread Santiago Mola
2015-05-12 9:50 GMT+02:00 Patrick Wendell pwend...@gmail.com:


 Inactive - A feature or bug that has had no activity from users or
 developers in a long time


Why is this needed? Every JIRA listing can be sorted by activity. That gets
the inactive ones out of your view quickly. I do not see any reason why an
issue should be closed because of this. If it's inactive, maybe it's because
it falls on some of the other categories (out of scope, later, won't fix).

I can only think about a case where closing an inactive issue makes sense:

*  A bug was reported long time ago. Nobody was able to reproduce (after
   trying actively) and the reporter is no longer around to provide more
info.

That is a much more specific case than Inactivity, and a lot of large
scale
open source projects use specific resolutions for this.

On a more general note: what is the problem with open issues / pull
requests?
I see a tendency in the Spark project to do unusual things with issues / PRs
just to maintain the numbers low. For example, closing PRs after a couple of
weeks of inactivity just to shrink the queue or closing active issues just
for the
shake of it.

Honestly, this looks a lot like trying to game metrics. But maybe there is
something that I am missing.

Maybe what it is actually needed is to improve the lifecycle of an issue
while
it is alive, instead of trying to kill it earlier. Some examples of this
that are
used on other projects are the incomplete status to signal that there is
more
info required from the reporter in order to take further action. Also
confirmed
to acknowledge that a bug is confirmed to be present and needs action by
a developer.

Best,
-- 

Santiago M. Mola


http://www.stratio.com/
Vía de las dos Castillas, 33, Ática 4, 3ª Planta
28224 Pozuelo de Alarcón, Madrid
Tel: +34 91 828 6473 // www.stratio.com // *@stratiobd
https://twitter.com/StratioBD*


Re: Adding/Using More Resolution Types on JIRA

2015-05-21 Thread Sean Owen
On Thu, May 21, 2015 at 10:03 PM, Santiago Mola sm...@stratio.com wrote:
 Sure. That is why I was talking about the Inactive resolution specifically. 
 The
 combination of Priority + other statuses are enough to solve these issues. A
 minor/trivial issue that is incomplete is probably not going to hurt much to
 someone looking for critical open issues.

If you mean you intend to consider them resolved, then yeah we agree a
lot. The names of the resolved states don't matter nearly so much to
me. For instance, in your examples, I could call those CannotReproduce
or Incomplete. I would not want to leave them Open in that state
indefinitely.

 On a side-note, I would like to contribute some time on improving this. When
 identifying this kind of issue, should I ask in the issue itself to resolve 
 it in a
 specific way?

I think reviewing JIRAs actually contributes to a better overall
process, so I'd just dive in. Anything to advance a JIRA / PR to a
resolution is very helpful. Ask for more info, investigate a problem
to confirm it or fail to reproduce, propose a fix, identify
duplicates, flag JIRAs for closing, review changes, say you think the
change is good, etc. -- among the most helpful things anyone can do
right now IMHO.

-
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
For additional commands, e-mail: dev-h...@spark.apache.org



Re: Adding/Using More Resolution Types on JIRA

2015-05-15 Thread Patrick Wendell
If there is no further feedback on this I will ask ASF Infra to add
the new fields Out of Scope and Inactive.

- Patrick

On Tue, May 12, 2015 at 9:02 AM, Nicholas Chammas
nicholas.cham...@gmail.com wrote:
 I tend to find that any large project has a lot of walking dead JIRAs, and
 pretending they are simply Open causes problems. Any state is better for
 these, so I favor this.

 Agreed.

 Inactive: A way to clear out inactive/dead JIRA's without
 indicating a decision has been made one way or the other.

 This is a good idea, and perhaps the process of closing JIRAs as Inactive
 can be automated. If nothing about a JIRA has changed in 12 months or more
 (e.g. current oldest open Spark issue; dates to Aug 2013: SPARK-867),
 perhaps a bot can mark it as such for us. (Here's a list of stale issues).

 This doesn't mean the issue is invalid or won't be addressed, but it gets it
 out of the Open queue, which ideally should be a high churn queue (e.g.
 stuff doesn't stay in there forever).

 Nick


 On Tue, May 12, 2015 at 4:49 AM Sean Owen so...@cloudera.com wrote:

 I tend to find that any large project has a lot of walking dead JIRAs, and
 pretending they are simply Open causes problems. Any state is better for
 these, so I favor this.

 The possible objection is that this will squash or hide useful issues, but
 in practice we have the opposite problem. Resolved issues are still
 searchable by default, and, people aren't shy about opening duplicates
 anyway. At least the semantics Later do not discourage a diligent searcher
 from considering commenting on and reopening such an archived JIRA.

 Patrick this could piggy back on INFRA-9513.

 As a corollary I would welcome deciding that Target Version should be used
 more narrowly to mean 'I really mean to help resolve this for the
 indicated
 version'. Setting it to a future version just to mean Later should instead
 turn into resolving the JIRA.

 Last: if JIRAs are regularly ice-boxed this way, I think it should trigger
 some reflection. Why are these JIRAs going nowhere? For completely normal
 reasons or does it mean too many TODOs are filed and forgotten? That's no
 comment on the current state, just something to watch.

 So: yes I like the idea.
 On May 12, 2015 8:50 AM, Patrick Wendell pwend...@gmail.com wrote:

  In Spark we sometimes close issues as something other than Fixed,
  and this is an important part of maintaining our JIRA.
 
  The current resolution types we use are the following:
 
  Won't Fix - bug fix or (more often) feature we don't want to add
  Invalid - issue is underspecified or not appropriate for a JIRA issue
  Duplicate - duplicate of another JIRA
  Cannot Reproduce - bug that could not be reproduced
  Not A Problem - issue purports to represent a bug, but does not
 
  I would like to propose adding a few new resolutions. This will
  require modifying the ASF JIRA, but infra said they are open to
  proposals as long as they are considered of broad interest.
 
  My issue with the current set of resolutions are that Won't Fix is a
  big catch all we use for many different things. Most often it's used
  for things that aren't even bugs even though it has Fix in the name.
  I'm proposing adding:
 
  Inactive - A feature or bug that has had no activity from users or
  developers in a long time
  Out of Scope - A feature proposal that is not in scope given the
  projects
  goals
  Later - A feature not on the immediate roadmap, but potentially of
  interest longer term (this one already exists, I'm just proposing to
  start using it)
 
  I am in no way proposing changes to the decision making model around
  JIRA's, notably that it is consensus based and that all resolutions
  are considered tentative and fully reversible.
 
  The benefits I see of this change would be the following:
  1. Inactive: A way to clear out inactive/dead JIRA's without
  indicating a decision has been made one way or the other.
  2. Out of Scope: It more clearly explains closing out-of-scope
  features than the generic Won't Fix. Also makes it more clear to
  future contributors what is considered in scope for Spark.
  3. Later: A way to signal that issues aren't targeted for a near term
  version. This would help avoid the mess we have now of like 200+
  issues targeted at each version and target version being a very bad
  indicator of actual roadmap. An alternative on this one is to have a
  version called Later or Parking Lot but not close the issues.
 
  Any thoughts on this?
 
  - Patrick
 
  -
  To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
  For additional commands, e-mail: dev-h...@spark.apache.org
 
 

-
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
For additional commands, e-mail: dev-h...@spark.apache.org



Adding/Using More Resolution Types on JIRA

2015-05-12 Thread Patrick Wendell
In Spark we sometimes close issues as something other than Fixed,
and this is an important part of maintaining our JIRA.

The current resolution types we use are the following:

Won't Fix - bug fix or (more often) feature we don't want to add
Invalid - issue is underspecified or not appropriate for a JIRA issue
Duplicate - duplicate of another JIRA
Cannot Reproduce - bug that could not be reproduced
Not A Problem - issue purports to represent a bug, but does not

I would like to propose adding a few new resolutions. This will
require modifying the ASF JIRA, but infra said they are open to
proposals as long as they are considered of broad interest.

My issue with the current set of resolutions are that Won't Fix is a
big catch all we use for many different things. Most often it's used
for things that aren't even bugs even though it has Fix in the name.
I'm proposing adding:

Inactive - A feature or bug that has had no activity from users or
developers in a long time
Out of Scope - A feature proposal that is not in scope given the projects goals
Later - A feature not on the immediate roadmap, but potentially of
interest longer term (this one already exists, I'm just proposing to
start using it)

I am in no way proposing changes to the decision making model around
JIRA's, notably that it is consensus based and that all resolutions
are considered tentative and fully reversible.

The benefits I see of this change would be the following:
1. Inactive: A way to clear out inactive/dead JIRA's without
indicating a decision has been made one way or the other.
2. Out of Scope: It more clearly explains closing out-of-scope
features than the generic Won't Fix. Also makes it more clear to
future contributors what is considered in scope for Spark.
3. Later: A way to signal that issues aren't targeted for a near term
version. This would help avoid the mess we have now of like 200+
issues targeted at each version and target version being a very bad
indicator of actual roadmap. An alternative on this one is to have a
version called Later or Parking Lot but not close the issues.

Any thoughts on this?

- Patrick

-
To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
For additional commands, e-mail: dev-h...@spark.apache.org



Re: Adding/Using More Resolution Types on JIRA

2015-05-12 Thread Nicholas Chammas
I tend to find that any large project has a lot of walking dead JIRAs, and
pretending they are simply Open causes problems. Any state is better for
these, so I favor this.

Agreed.


   1. Inactive: A way to clear out inactive/dead JIRA’s without
   indicating a decision has been made one way or the other.

 This is a good idea, and perhaps the process of closing JIRAs as Inactive
can be automated. If *nothing* about a JIRA has changed in 12 months or
more (e.g. current oldest open Spark issue; dates to Aug 2013: SPARK-867
https://issues.apache.org/jira/browse/SPARK-867), perhaps a bot can mark
it as such for us. (Here’s a list of stale issues
https://issues.apache.org/jira/browse/SPARK-867?jql=project%20=%20SPARK%20AND%20resolution%20=%20Unresolved%20AND%20updated%20%3C=%20-26w%20ORDER%20BY%20updated%20ASC
).

This doesn’t mean the issue is invalid or won’t be addressed, but it gets
it out of the “Open” queue, which ideally should be a high churn queue
(e.g. stuff doesn’t stay in there forever).

Nick
​

On Tue, May 12, 2015 at 4:49 AM Sean Owen so...@cloudera.com wrote:

 I tend to find that any large project has a lot of walking dead JIRAs, and
 pretending they are simply Open causes problems. Any state is better for
 these, so I favor this.

 The possible objection is that this will squash or hide useful issues, but
 in practice we have the opposite problem. Resolved issues are still
 searchable by default, and, people aren't shy about opening duplicates
 anyway. At least the semantics Later do not discourage a diligent searcher
 from considering commenting on and reopening such an archived JIRA.

 Patrick this could piggy back on INFRA-9513.

 As a corollary I would welcome deciding that Target Version should be used
 more narrowly to mean 'I really mean to help resolve this for the indicated
 version'. Setting it to a future version just to mean Later should instead
 turn into resolving the JIRA.

 Last: if JIRAs are regularly ice-boxed this way, I think it should trigger
 some reflection. Why are these JIRAs going nowhere? For completely normal
 reasons or does it mean too many TODOs are filed and forgotten? That's no
 comment on the current state, just something to watch.

 So: yes I like the idea.
 On May 12, 2015 8:50 AM, Patrick Wendell pwend...@gmail.com wrote:

  In Spark we sometimes close issues as something other than Fixed,
  and this is an important part of maintaining our JIRA.
 
  The current resolution types we use are the following:
 
  Won't Fix - bug fix or (more often) feature we don't want to add
  Invalid - issue is underspecified or not appropriate for a JIRA issue
  Duplicate - duplicate of another JIRA
  Cannot Reproduce - bug that could not be reproduced
  Not A Problem - issue purports to represent a bug, but does not
 
  I would like to propose adding a few new resolutions. This will
  require modifying the ASF JIRA, but infra said they are open to
  proposals as long as they are considered of broad interest.
 
  My issue with the current set of resolutions are that Won't Fix is a
  big catch all we use for many different things. Most often it's used
  for things that aren't even bugs even though it has Fix in the name.
  I'm proposing adding:
 
  Inactive - A feature or bug that has had no activity from users or
  developers in a long time
  Out of Scope - A feature proposal that is not in scope given the projects
  goals
  Later - A feature not on the immediate roadmap, but potentially of
  interest longer term (this one already exists, I'm just proposing to
  start using it)
 
  I am in no way proposing changes to the decision making model around
  JIRA's, notably that it is consensus based and that all resolutions
  are considered tentative and fully reversible.
 
  The benefits I see of this change would be the following:
  1. Inactive: A way to clear out inactive/dead JIRA's without
  indicating a decision has been made one way or the other.
  2. Out of Scope: It more clearly explains closing out-of-scope
  features than the generic Won't Fix. Also makes it more clear to
  future contributors what is considered in scope for Spark.
  3. Later: A way to signal that issues aren't targeted for a near term
  version. This would help avoid the mess we have now of like 200+
  issues targeted at each version and target version being a very bad
  indicator of actual roadmap. An alternative on this one is to have a
  version called Later or Parking Lot but not close the issues.
 
  Any thoughts on this?
 
  - Patrick
 
  -
  To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
  For additional commands, e-mail: dev-h...@spark.apache.org
 
 



Re: Adding/Using More Resolution Types on JIRA

2015-05-12 Thread Sean Owen
I tend to find that any large project has a lot of walking dead JIRAs, and
pretending they are simply Open causes problems. Any state is better for
these, so I favor this.

The possible objection is that this will squash or hide useful issues, but
in practice we have the opposite problem. Resolved issues are still
searchable by default, and, people aren't shy about opening duplicates
anyway. At least the semantics Later do not discourage a diligent searcher
from considering commenting on and reopening such an archived JIRA.

Patrick this could piggy back on INFRA-9513.

As a corollary I would welcome deciding that Target Version should be used
more narrowly to mean 'I really mean to help resolve this for the indicated
version'. Setting it to a future version just to mean Later should instead
turn into resolving the JIRA.

Last: if JIRAs are regularly ice-boxed this way, I think it should trigger
some reflection. Why are these JIRAs going nowhere? For completely normal
reasons or does it mean too many TODOs are filed and forgotten? That's no
comment on the current state, just something to watch.

So: yes I like the idea.
On May 12, 2015 8:50 AM, Patrick Wendell pwend...@gmail.com wrote:

 In Spark we sometimes close issues as something other than Fixed,
 and this is an important part of maintaining our JIRA.

 The current resolution types we use are the following:

 Won't Fix - bug fix or (more often) feature we don't want to add
 Invalid - issue is underspecified or not appropriate for a JIRA issue
 Duplicate - duplicate of another JIRA
 Cannot Reproduce - bug that could not be reproduced
 Not A Problem - issue purports to represent a bug, but does not

 I would like to propose adding a few new resolutions. This will
 require modifying the ASF JIRA, but infra said they are open to
 proposals as long as they are considered of broad interest.

 My issue with the current set of resolutions are that Won't Fix is a
 big catch all we use for many different things. Most often it's used
 for things that aren't even bugs even though it has Fix in the name.
 I'm proposing adding:

 Inactive - A feature or bug that has had no activity from users or
 developers in a long time
 Out of Scope - A feature proposal that is not in scope given the projects
 goals
 Later - A feature not on the immediate roadmap, but potentially of
 interest longer term (this one already exists, I'm just proposing to
 start using it)

 I am in no way proposing changes to the decision making model around
 JIRA's, notably that it is consensus based and that all resolutions
 are considered tentative and fully reversible.

 The benefits I see of this change would be the following:
 1. Inactive: A way to clear out inactive/dead JIRA's without
 indicating a decision has been made one way or the other.
 2. Out of Scope: It more clearly explains closing out-of-scope
 features than the generic Won't Fix. Also makes it more clear to
 future contributors what is considered in scope for Spark.
 3. Later: A way to signal that issues aren't targeted for a near term
 version. This would help avoid the mess we have now of like 200+
 issues targeted at each version and target version being a very bad
 indicator of actual roadmap. An alternative on this one is to have a
 version called Later or Parking Lot but not close the issues.

 Any thoughts on this?

 - Patrick

 -
 To unsubscribe, e-mail: dev-unsubscr...@spark.apache.org
 For additional commands, e-mail: dev-h...@spark.apache.org