Over on the Hadoop dev lists Eric Payne sent a great summary of discussions
that community has had on the tradeoffs involved with code cleanup issues,
and also provided an excellent set of recommendations.

See the thread here: https://s.apache.org/fn5al

I will include the top post below. I endorse it in its entirety as a
starting point for discussion in our community as well.

>>>
There was some discussion on https://issues.apache.org/jira/browse/YARN-9052
about concerns surrounding the costs/benefits of code cleanup JIRAs. This
email is to get the discussion going within a wider audience.

The positive points for code cleanup JIRAs:
- Clean up tech debt
- Make code more readable
- Make code more maintainable
- Make code more performant

The concerns regarding code cleanup JIRAs are as follows:
- If the changes only go into trunk, then contributors and committers
trying to
 backport to prior releases will have to create and test multiple patch
versions.
- Some have voiced concerns that code cleanup JIRAs may not be tested as
  thoroughly as features and bug fixes because functionality is not
supposed to
  change.
- Any patches awaiting review that are touching the same code will have to
be
  redone, re-tested, and re-reviewed.
- JIRAs that are opened for code cleanup and not worked on right away tend
to
  clutter up the JIRA space.

Here are my opinions:
- Code changes of any kind force a non-trivial amount of overhead for other
  developers. For code cleanup JIRAs, sometimes the usability,
maintainability,
  and performance is worth the overhead.
- Before opening any JIRA, please always consider whether or not the added
  usability will outweigh the added pain you are causing other developers.
- If you believe the benefits outweigh the costs, please backport the
changes
  yourself to all active lines.
- Please don't run code analysis tools and then open many JIRAs that
document
  those findings. That activity does not put any thought into this
cost-benefit
  analysis.
<<<

My preference is to port all the way back to at least branch-1. Those
interested in branch-1 maintenance and code lines derived from it, like
1.3, 1.4, 1.5, and soon 1.6, can decide what to do once it lands in
branch-1, but we at least need the branch-1 backport as a starting point
addressing some of the major prerequisites: Hadoop 2 support, Java 7 source
level, etc.

-- 
Best regards,
Andrew

Words like orphans lost among the crosstalk, meaning torn from truth's
decrepit hands
   - A23, Crosstalk

Reply via email to