hg: jdk8/tl/jdk: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-24 Thread alan . bateman
Changeset: 700d62b8d9cc Author:alanb Date: 2013-10-24 13:24 +0100 URL: http://hg.openjdk.java.net/jdk8/tl/jdk/rev/700d62b8d9cc 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable Reviewed-by: rriggs, psandoz, chegar Contributed-by:

8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Alan Bateman
j.u.c.atomic.{Double,Long}.{Accumulator,Adder} extend a package-private class Striped64 that does striping on 64-bit values. This super type is Serializable by way of extending Number. Striped64 doesn't contribute any serial fields but its name does leak into the serial stream because there

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Doug Lea
On 10/23/2013 10:06 AM, Alan Bateman wrote: In practical terms this is a bit of a non-issue I suppose it is a good sign that people are mostly just fixing non-issues as freeze dates approach :-) The webrev with the proposed changes is here: http://cr.openjdk.java.net/~alanb/8026344/webrev/

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Paul Sandoz
On Oct 23, 2013, at 4:06 PM, Alan Bateman alan.bate...@oracle.com wrote: j.u.c.atomic.{Double,Long}.{Accumulator,Adder} extend a package-private class Striped64 that does striping on 64-bit values. This super type is Serializable by way of extending Number. Striped64 doesn't contribute

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Chris Hegarty
Looks fine to me. Should all SerializationProxy classes have the same serialVersionUID ( = 7249069246863182397L ) ? -Chris. On 23/10/2013 15:06, Alan Bateman wrote: j.u.c.atomic.{Double,Long}.{Accumulator,Adder} extend a package-private class Striped64 that does striping on 64-bit values.

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Alan Bateman
On 23/10/2013 15:22, Doug Lea wrote: On 10/23/2013 10:06 AM, Alan Bateman wrote: A minor difference with what is currently in the CVS is that I've added a link in the writeReplace javadoc to the proxy class. I adjusted accordingly. I'm not sure why just {@link ...} didn't suffice. I think

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Alan Bateman
On 23/10/2013 15:37, Paul Sandoz wrote: : Testing wise if you really want to use lambda expressions then they need to be explicitly marked as serializable otherwise it's gonna barf (as you probably found out): DoubleBinaryOperator plus = (DoubleBinaryOperator Serializable) (x, y)

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Alan Bateman
On 23/10/2013 15:32, roger riggs wrote: : The signature of the readObject methods usually has the return type Object even though in this case it should never be used. And a method comment would be nice saying why it always throws an exception. I checked Serializable and it defines

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Doug Lea
On 10/23/2013 11:17 AM, Chris Hegarty wrote: Looks fine to me. Should all SerializationProxy classes have the same serialVersionUID ( = 7249069246863182397L ) ? Not only that, it is the same as that for the main classes themselves. It should simplify ability to check any errors in cases

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Doug Lea
On 10/23/2013 12:33 PM, Alan Bateman wrote: I might have been tempted to conserve on classes and code duplication to share a serialization proxy between the classes and maybe even shorten the name. But it is hard to argue with the simplicity and directness of this design. I don't have a strong

Re: 8026344: j.u.c.a *Adder and *Accumulator extend a package private class that is Serializable

2013-10-23 Thread Stephen Colebourne
On 23 October 2013 17:33, Alan Bateman alan.bate...@oracle.com wrote: I might have been tempted to conserve on classes and code duplication to share a serialization proxy between the classes and maybe even shorten the name. But it is hard to argue with the simplicity and directness of this