hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sanjay Radia <sra...@yahoo-inc.com>
Subject Re: add incompatible flag to Jira
Date Wed, 12 Mar 2008 21:35:23 GMT
Doug Cutting wrote:
> Nigel Daley wrote:
>> 1. an incompatible checkbox
> This really only passes the buck, doesn't it?  The real problem is 
> correctly identifying all the incompatible changes.  We already have a 
> mechanism, a section in CHANGES.txt, but we don't always manage to 
> correctly list all the incompatible changes there.  A checkbox won't 
> be any more reliable will it?
>> 2. a release note text box
> Shouldn't folks just include CHANGES.txt message in the patch?  That's 
> what I've always encouraged, but few are ever provided.  Perhaps 
> Hudson can bounce patches that don't touch CHANGES.txt?
> Both these would make sense if we intend to abandon CHANGES.txt and 
> use them instead.  Is that your intent?
> Doug

When I worked on the java vm at Sun,  we used to list all interfaces 
that have changed or added including internal ones.
Primarily one wants to identify all external interfaces (apis, config 
files etc) that have been changed or introduced.
Secondarily one wants to also list changes to key internal interfaces - 
this may not break the client but may break
the implementation due to internal dependencies that were overlooked; it 
also help raise awareness of changes to the
internal structure.

We had a simple one pager form that was filled out;  what was 
interesting was that by just filling out the form
the writer became more aware of the impact of her change and often ended 
up doing something different or
catching a problem.
It also helped the reviewer  quickly get a better view of the impact of 
the change and hence pay more attention to
certain parts of the patch to be reviewed.
It helped forge a culture and discipline in thinking about changing 
system software.
While some  java engineers complained about having to fill out the
"damn ccc form", in the end most  agreed that the process was very useful.

So I suggest a  simple template or form  along the following lines:

External  interfaces:
Have you changed/added/deleted any external facing interfaces including 
APIs, CLIs, config files?
    Changes in signatures?
    Changes in semantics?

Internal Interfaces:


View raw message