On 28 November 2011 07:17, Philippe Mouawad <[email protected]> wrote: > I found the issue working on copy - paste patch That was submitted . > And yes tests are not capturing these issues ( same for synctimer non > transient barrierwrapper i fixed). This is because non > transient fields are not initialized in tests runs I think.
Yes, the field is not initialised until run-time, so the serialisation test does not find it - null is serializable When I added a dummy ctor to initialise it, the serialization test fails if the transient marker is absent. In this case, perhaps the transient marker is not strictly necessary - we only use serialisation to send the classes across, and the classes will be in their initial state. However, there's no point sending fields across that are maintained at runtime and the transient marker helps to document the use of the field. > Regards > Philippe > On Monday, November 28, 2011, sebb <[email protected]> wrote: >> On 27 November 2011 22:09, <[email protected]> wrote: >>> Author: pmouawad >>> Date: Sun Nov 27 22:09:05 2011 >>> New Revision: 1206864 >>> >>> URL: http://svn.apache.org/viewvc?rev=1206864&view=rev >>> Log: >>> Make field volatile to ensure Serializable contract >> >> [I think you meant transient; it was already volatile.] >> >> Just wondering how you found this problem? >> And I wonder why the serialisation tests did not find it. >> >>> Modified: >>> > jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java >>> >>> Modified: > jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java >>> URL: > http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java?rev=1206864&r1=1206863&r2=1206864&view=diff >>> > ============================================================================== >>> --- > jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java > (original) >>> +++ > jmeter/trunk/src/protocol/java/org/apache/jmeter/protocol/java/sampler/BeanShellSampler.java > Sun Nov 27 22:09:05 2011 >>> @@ -48,7 +48,7 @@ public class BeanShellSampler extends Be >>> >>> public static final String RESET_INTERPRETER = > "BeanShellSampler.resetInterpreter"; //$NON-NLS-1$ >>> >>> - private volatile BeanShellInterpreter savedBsh = null; >>> + private transient volatile BeanShellInterpreter savedBsh = null; >>> >>> @Override >>> protected String getInitFileProperty() { >>> >>> >>> >> > > -- > Cordialement. > Philippe Mouawad. >
