You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@harmony.apache.org by Tim Ellison <t....@gmail.com> on 2010/01/20 18:27:23 UTC

[classlib][concurrent] CopyOnWriteArrayList

As you probably know, our concurrency code is a copy of the code in Doug
Lea's JSR166 repository.  You may also recall that the JSR166 version of
CopyOnWriteArrayList [1] contains an unpalatable Sun copyright notice,
so we created a Harmony version of this class as a replacement [2].

Unfortunately, when we refreshed the implementation from Doug's
repository back in July 2009 [3,4] the Harmony version was overwritten
with the JSR166 version containing the original copyright statement.

The remedy is to restore the Harmony version [5].  Of course we need to
also check that it implements the right behavior of the refreshed code etc.

Since we are currently distributing the original JSR166 version in our
latest 5.0 M12 download, I propose that we now also produce a 5.0M12a
containing the replacement file.

Although this file has been in our builds since last July, we should not
wait until the next scheduled Harmony milestone.  So, the 5.0M12a build
will be a minimal change, derived by creating a tag based on 5.0M12
(r885602) and fixing this one file.  That means we can have a shorter
release cycle with reduced testing etc. and replace M12 with M12a.

Comments and questions welcome.

[1]
http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java?view=log
[2] http://issues.apache.org/jira/browse/HARMONY-1805
[3] http://issues.apache.org/jira/browse/HARMONY-6262
[4] http://svn.apache.org/viewvc?view=revision&revision=794678
[5] http://svn.apache.org/viewvc?rev=901123&view=rev

Regards,
Tim

Re: [classlib][concurrent] CopyOnWriteArrayList

Posted by Mark Hindess <ma...@googlemail.com>.
In message <b1...@mail.gmail.com>,
Ian Rogers writes:
>
> 2010/1/20 Tim Ellison <t....@gmail.com>:
>
> > The remedy is to restore the Harmony version [5].  Of course we need
> > to also check that it implements the right behavior of the refreshed
> > code etc.
>
> The JSR166 TCK, including CopyOnWriteArrayList tests, is released
> under a public domain license [1]. Testing compatibility should be
> straightforward.

Indeed.  We take the tests into modules/concurrent/src/test.  I ran the
tests after the revert (r901123) and trivial fix (r901124) commits and
the tests pass.  The more tests we run the better though.

Regards,
 Mark.

> [1] http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/test/tck/



Re: [classlib][concurrent] CopyOnWriteArrayList

Posted by Ian Rogers <ia...@manchester.ac.uk>.
2010/1/20 Tim Ellison <t....@gmail.com>:
> The remedy is to restore the Harmony version [5].  Of course we need to
> also check that it implements the right behavior of the refreshed code etc.

The JSR166 TCK, including CopyOnWriteArrayList tests, is released
under a public domain license [1]. Testing compatibility should be
straightforward.

Regards,
Ian

[1] http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/jsr166/src/test/tck/

Re: [classlib][concurrent] CopyOnWriteArrayList

Posted by Mark Hindess <ma...@googlemail.com>.
In message <4B...@gmail.com>, Tim Ellison writes:
>
> As you probably know, our concurrency code is a copy of the code in Doug
> Lea's JSR166 repository.  You may also recall that the JSR166 version of
> CopyOnWriteArrayList [1] contains an unpalatable Sun copyright notice,
> so we created a Harmony version of this class as a replacement [2].
> 
> Unfortunately, when we refreshed the implementation from Doug's
> repository back in July 2009 [3,4] the Harmony version was overwritten
> with the JSR166 version containing the original copyright statement.
> 
> The remedy is to restore the Harmony version [5].  Of course we need to
> also check that it implements the right behavior of the refreshed code etc.
> 
> Since we are currently distributing the original JSR166 version in our
> latest 5.0 M12 download, I propose that we now also produce a 5.0M12a
> containing the replacement file.
> 
> Although this file has been in our builds since last July, we should not
> wait until the next scheduled Harmony milestone.  So, the 5.0M12a build
> will be a minimal change, derived by creating a tag based on 5.0M12
> (r885602) and fixing this one file.  That means we can have a shorter
> release cycle with reduced testing etc. and replace M12 with M12a.

I think this is the right thing to do.  Since "creating a tag" is not as
trivial as it sounds (due to the structure of our federated build), I'll
make a start on doing this while awaiting further comments/consensus.

Regards,
 Mark.

> Comments and questions welcome.
> 
> [1]
> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/concurre
> nt/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java?view=log
> [2] http://issues.apache.org/jira/browse/HARMONY-1805
> [3] http://issues.apache.org/jira/browse/HARMONY-6262
> [4] http://svn.apache.org/viewvc?view=revision&revision=794678
> [5] http://svn.apache.org/viewvc?rev=901123&view=rev
> 
> Regards,
> Tim
> 



Re: [classlib][concurrent] CopyOnWriteArrayList

Posted by Tony Wu <wu...@gmail.com>.
+1
we shall have a simple script to scan license term of every commit, to
make sure that it will not come again.

On Thu, Jan 21, 2010 at 8:52 AM, Nathan Beyer <nd...@apache.org> wrote:
> On Wed, Jan 20, 2010 at 11:27 AM, Tim Ellison <t....@gmail.com> wrote:
>> As you probably know, our concurrency code is a copy of the code in Doug
>> Lea's JSR166 repository.  You may also recall that the JSR166 version of
>> CopyOnWriteArrayList [1] contains an unpalatable Sun copyright notice,
>> so we created a Harmony version of this class as a replacement [2].
>>
>> Unfortunately, when we refreshed the implementation from Doug's
>> repository back in July 2009 [3,4] the Harmony version was overwritten
>> with the JSR166 version containing the original copyright statement.
>>
>> The remedy is to restore the Harmony version [5].  Of course we need to
>> also check that it implements the right behavior of the refreshed code etc.
>>
>> Since we are currently distributing the original JSR166 version in our
>> latest 5.0 M12 download, I propose that we now also produce a 5.0M12a
>> containing the replacement file.
>>
>> Although this file has been in our builds since last July, we should not
>> wait until the next scheduled Harmony milestone.  So, the 5.0M12a build
>> will be a minimal change, derived by creating a tag based on 5.0M12
>> (r885602) and fixing this one file.  That means we can have a shorter
>> release cycle with reduced testing etc. and replace M12 with M12a.
>
> +1 for M12a release with this one fix
>
>>
>> Comments and questions welcome.
>>
>> [1]
>> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java?view=log
>> [2] http://issues.apache.org/jira/browse/HARMONY-1805
>> [3] http://issues.apache.org/jira/browse/HARMONY-6262
>> [4] http://svn.apache.org/viewvc?view=revision&revision=794678
>> [5] http://svn.apache.org/viewvc?rev=901123&view=rev
>>
>> Regards,
>> Tim
>>
>



-- 
Tony Wu
China Software Development Lab, IBM

Re: [classlib][concurrent] CopyOnWriteArrayList

Posted by Nathan Beyer <nd...@apache.org>.
On Wed, Jan 20, 2010 at 11:27 AM, Tim Ellison <t....@gmail.com> wrote:
> As you probably know, our concurrency code is a copy of the code in Doug
> Lea's JSR166 repository.  You may also recall that the JSR166 version of
> CopyOnWriteArrayList [1] contains an unpalatable Sun copyright notice,
> so we created a Harmony version of this class as a replacement [2].
>
> Unfortunately, when we refreshed the implementation from Doug's
> repository back in July 2009 [3,4] the Harmony version was overwritten
> with the JSR166 version containing the original copyright statement.
>
> The remedy is to restore the Harmony version [5].  Of course we need to
> also check that it implements the right behavior of the refreshed code etc.
>
> Since we are currently distributing the original JSR166 version in our
> latest 5.0 M12 download, I propose that we now also produce a 5.0M12a
> containing the replacement file.
>
> Although this file has been in our builds since last July, we should not
> wait until the next scheduled Harmony milestone.  So, the 5.0M12a build
> will be a minimal change, derived by creating a tag based on 5.0M12
> (r885602) and fixing this one file.  That means we can have a shorter
> release cycle with reduced testing etc. and replace M12 with M12a.

+1 for M12a release with this one fix

>
> Comments and questions welcome.
>
> [1]
> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java?view=log
> [2] http://issues.apache.org/jira/browse/HARMONY-1805
> [3] http://issues.apache.org/jira/browse/HARMONY-6262
> [4] http://svn.apache.org/viewvc?view=revision&revision=794678
> [5] http://svn.apache.org/viewvc?rev=901123&view=rev
>
> Regards,
> Tim
>