RFR: 8275338: Add JFR events for notable serialization situations [v5]

Roger Riggs rriggs at openjdk.org
Wed Dec 20 15:09:58 UTC 2023


On Wed, 20 Dec 2023 15:01:02 GMT, Raffaello Giulietti <rgiulietti at openjdk.org> wrote:

>> src/java.base/share/classes/java/io/SerializationMisdeclarationChecker.java line 113:
>> 
>>> 111:             if (longFromStatic(f) == null) {
>>> 112:                 commitEvent(SUID_CONVERTIBLE_TO_LONG,
>>> 113:                         SUID_NAME + " must be convertible to long via widening to be effective");
>> 
>> The serialization spec only shows using long.  If any recommendation is made it should be to declare the field as a `long`
>
> There's a check on the type at L.104 which is about the "should" recommendation, since serialization does not care about the type of the field being `long`.
> 
> This check is about the value at runtime, which is a "must" because serialization expects it to be convertible to long by widening.

The implementation should not show through. I don't remember if the particular implementation was intentional or just a shortcut to get the value. But any suggestion that implies a fix should be to recommend the best practice.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/17129#discussion_r1432834402


More information about the hotspot-jfr-dev mailing list