EnumSet.class serialization broken - twice - JDK-8227368
Peter Levart
peter.levart at gmail.com
Wed Jul 10 11:32:49 UTC 2019
Hi Stuart,
On 7/10/19 4:32 AM, Stuart Marks wrote:
>>> 1. New changeset with constant version of EnumSet.serialVersionUID.
>>
>> This is already in the webrev.01 changeset. webrev.02 is an attempt
>> to sneak the change without being visible in the serialized-form.html.
>
> Ah. I skipped webrev.01 because I thought that webrev.02 had
> superseded it. Looking at webrev.01, I see
>
>> + // value computed from JDK 8 (and previous) EnumSet class
>> + // needed to properly cross-(de)serialize EnumSet.class objects
>> + // between JDK 8- <-> JDK 9+
>> + private static final long serialVersionUID = 1009687484059888093L;
>> +
>
> I don't think this comment can cover the entire history here. We'll
> have to rely on the bug report, the CSR, and the email archives.
>
> Most declarations of serialVersionUID don't have a comment at all. So,
> we could just omit it.
>
> If you feel a comment is necessary, perhaps something like
>
> // declare serialization compatibility with JDK 8 (see JDK-8227368)
I created webrev.03 with your proposed comment:
http://cr.openjdk.java.net/~plevart/jdk-dev/8227368_EnumSet.class_serialization/webrev.03/
>
> might be sufficient. Otherwise, webrev.01 looks fine.
>
>> On 7/9/19 1:57 AM, Stuart Marks wrote:
>>> 2. Create draft CSR.
>>
>> Created:
>>
>> https://bugs.openjdk.java.net/browse/JDK-8227432
>
> I've done some editing on this CSR and I've marked myself as a
> reviewer. Please move this to Finalized.
Thank you for your edits. It reads much better now :-) I have Finalized it.
>
> While we're waiting for the CSR to be approved (I hope this takes only
> a day or two) I'll do some testing with your patch.
Thank you for testing.
Regards, Peter
More information about the core-libs-dev
mailing list