Hi,I have sent a PR that removes dead code (https://github.com/jenkinsci/jenkins/pull/1957). Some of the suggested changes are to remove readResolve methods because the classes that contain those methods do not implement java.io.Serializable.
XStream, as far as I know, uses the readResolve when it is dealing with the ObjectOutputStream and according the official Java documentation, just Serialiable and Externalizable elements can use readResolve.Then, my question is if these classes:
- hudson.model.ListView
- hudson.model.PaneStatusProperties
- hudson.model.ParametersAction
- hudson.model.Queue
- hudson.security.csrf.DefaultCrumbIssuer
- hudson.tasks.BatchFile
- hudson.tasks.BuildTrigger
- hudson.tasks.Shell
- hudson.tools.BatchCommandInstaller
- hudson.tools.CommandInstaller
- hudson.util.RobustReflectionConverter
- jenkins.model.ArtifactManagerConfiguration
- jenkins.security.QueueItemAuthenticatorConfiguration
should be java.io.Serializable or the methods need to be removed?
Thank you in advance
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
I would rather they all be Serializable so it really needs a case by case evaluation
On Monday 21 December 2015, Baptiste Mathus <m...@batmat.net> wrote:
@Stephen: then wouldn't at least a PR to add a comment to the readResolve() like https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/ListView.java#L112 be beneficial both for the common knowledge and for you not to have to repeat yourself every few weeks? :-)Something short like:/*** DO NOT REMOVE: see wiki.jenkins-ci.org/display/JENKINS/XStream-Why-Keep-Blah*/(Note: I can prepare that PR if so, or I wouldn't propose it).
Thank you in advance
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
@Stephen,Thank you for your answer. Could you write a test to validate if a class that is Serializable provokes an undesired behavior?
El lunes, 21 de diciembre de 2015, 22:34:53 (UTC+1), Stephen Connolly escribió:
I would rather they all be Serializable so it really needs a case by case evaluation
On Monday 21 December 2015, Baptiste Mathus <m...@batmat.net> wrote:
@Stephen: then wouldn't at least a PR to add a comment to the readResolve() like https://github.com/jenkinsci/jenkins/blob/master/core/src/main/java/hudson/model/ListView.java#L112 be beneficial both for the common knowledge and for you not to have to repeat yourself every few weeks? :-)Something short like:/*** DO NOT REMOVE: see wiki.jenkins-ci.org/display/JENKINS/XStream-Why-Keep-Blah*/(Note: I can prepare that PR if so, or I wouldn't propose it).
Thank you in advance
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/29bc768d-b55b-482a-a0f6-479dd537e6cb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Thank you in advance
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d670360c-93f8-4382-84f4-694039a02f8f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CA%2BnPnMwt5Co3qBe55Mv1YbazWydjW7vqf5Ph4bs1g-UtmNubGQ%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CANWgJS6Hjo8o2OEv6H7Z1%3DrgYogFRWRnMMZsQNAdb9HBrJnVMA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/29bc768d-b55b-482a-a0f6-479dd537e6cb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
It is a feature of XStream that it does not require any marker interface. Its semantics are intentionally aligned with, but not identical to, Java serialization (which Jenkins also uses, for different purposes). Workflow code also uses JBoss Marshalling, again similar but not identical to Java serialization. There is no mechanical way to determine which, if any, of these systems is/are used on a given class in Jenkins; you just have to understand the code.
I disagree, it would be a pain to have to mark everything that could be serializable with the interface. It works quite well right now as is.
--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/fb2bdd92-a86f-44b9-951f-f99a19ae6194%40googlegroups.com.
Thanks Jesse for your feedback :-)I really appreciate your explanation. I will remove from my walkmod configuration the "removal option" of the serialization methods. Tomorrow, I will try to send again another PR to discuss for the rest of the changes.Can you give me some clues about what packages and classes I would need to take a look? (or just do I need to find dependencies for XStream and JBoss Marshalling? ) Is there any documentation in somewhere? I would like to understand the code and "try" to create a test for it.
However, what I mean is that even the java.io.Serialiable is not necessary for these libraries, if you are serializing objects, these should belong to this interface. Indeed, this is the purpose of these methods. So, what I would like to do is thinking about I can create a test to validate if making them Serializable provokes an error. Would it be helpful as well to you?