EnumSet.class serialization broken - twice - JDK-8227368
Joe Darcy
joe.darcy at oracle.com
Wed Jul 10 16:03:47 UTC 2019
Hello,
I'd advise against including at least part of the comment
// declare serialization compatibility with JDK 8 (see JDK-8227368)
We generally don't include bug numbers in the text of the code and rely
mapping from the SCM to the bug database to provide the (sometimes
large!) additional context for a fix.
Cheers,
-Joe
On 7/10/2019 4:32 AM, Peter Levart wrote:
> 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