Warning about java.time.Ser

classic Classic list List threaded Threaded
6 messages Options
DLopez DLopez
Reply | Threaded
Open this post in threaded view
|

Warning about java.time.Ser

Hi,

We are using Java 8 and when we define a cache that uses some of the new classes in the java.time package, so you get the warning: Class "java.time.Ser" cannot be written in binary format because it either implements Externalizable interface or have writeObject/readObject methods. Please...

I understand the warning and the reason behind it, but it might be better to at least move it to debug level for this specific case, or for java.*, as it can be a bit confusing for users to be warned about a java standard class... that they probably don't even know they are using. To make it even funnier, it is an internal serializable delegate that you can't even find in the javadocs.

My 2c
D.
vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|

Re: Warning about java.time.Ser

Agree. I made a fix in master to ignore JDK classes when printing out this warning.

-Val
alexey.goncharuk alexey.goncharuk
Reply | Threaded
Open this post in threaded view
|

Re: Warning about java.time.Ser

I think it makes sense to add a native binary marshaller support for such types (at least for platform interoperability standpoint). I will create a ticket. 

2016-01-26 3:31 GMT+03:00 vkulichenko <[hidden email]>:
Agree. I made a fix in master to ignore JDK classes when printing out this
warning.

-Val



--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Warning-about-java-time-Ser-tp2693p2713.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|

Re: Warning about java.time.Ser

Alexey,

Yes, that does make sense. Thanks!

-Val
avk avk
Reply | Threaded
Open this post in threaded view
|

RE: Warning about java.time.Ser

In reply to this post by DLopez
This warning is a nuisance as is another one about "For best performance you should implement java.io.Externalizable for all cache keys and values: com.mycompany.MyKey". It should be possible to suppress them (for example, in production environment). The system property "IGNITE_PERFORMANCE_SUGGESTIONS_DISABLED" could be the right candidate for the job. Setting it to "true" should disable them both.

Ignite is being excessively patronizing at runtime (which is a bit too late). Better documentation would be more helpful.

Regards
Andrey

> Date: Mon, 25 Jan 2016 03:09:50 -0800

> From: [hidden email]
> To: [hidden email]
> Subject: Warning about java.time.Ser
>
> Hi,
>
> We are using Java 8 and when we define a cache that uses some of the new
> classes in the java.time package, so you get the warning: Class
> "java.time.Ser" cannot be written in binary format because it either
> implements Externalizable interface or have writeObject/readObject methods.
> Please...
>
> I understand the warning and the reason behind it, but it might be better to
> at least move it to debug level for this specific case, or for java.*, as it
> can be a bit confusing for users to be warned about a java standard class...
> that they probably don't even know they are using. To make it even funnier,
> it is an internal serializable delegate that you can't even find in the
> javadocs.
>
> My 2c
> D.
>
>
>
> --
> View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Warning-about-java-time-Ser-tp2693.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
vkulichenko vkulichenko
Reply | Threaded
Open this post in threaded view
|

RE: Warning about java.time.Ser

Andrey,

I think this warning is just not needed any more because of binary format. I completely removed it and also fixed the documentation.

-Val