jmeter-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: svn commit: r1622838 - in /jmeter/trunk: src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java xdocs/changes.xml
Date Sat, 06 Sep 2014 14:07:14 GMT
On 6 September 2014 14:30, Philippe Mouawad <philippe.mouawad@gmail.com> wrote:
> Hello sebb,
> I have a doubt, 2 questions:
> 1) For me there is one instance of ReceiveSubscriber per thread and no
> concurrent access

As the comment says:

public void close() { // called from threadFinished() thread

> 2)Even if there was , this is more of a question as I have a doubt, if the
> access is sequential, is volatile still needed ?

The Java memory model allows threads to cache variables.

This is not about concurrency, it's about safe publication of data.

Volatile is needed here to ensure memory caches are properly flushed/refreshed.

> Thanks
>
>
> On Sat, Sep 6, 2014 at 2:32 PM, sebb <sebbaz@gmail.com> wrote:
>
>> On 6 September 2014 10:50,  <pmouawad@apache.org> wrote:
>> > Author: pmouawad
>> > Date: Sat Sep  6 09:50:18 2014
>> > New Revision: 1622838
>> >
>> > URL: http://svn.apache.org/r1622838
>> > Log:
>> > Bug 56761 - JMeter tries to stop already stopped JMS connection and
>> displays "The connection is closed"
>> > Bugzilla Id: 56761
>> >
>> > Modified:
>> >
>>  jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
>> >     jmeter/trunk/xdocs/changes.xml
>> >
>> > Modified:
>> jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java?rev=1622838&r1=1622837&r2=1622838&view=diff
>> >
>> ==============================================================================
>> > ---
>> jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
>> (original)
>> > +++
>> jmeter/trunk/src/protocol/jms/org/apache/jmeter/protocol/jms/client/ReceiveSubscriber.java
>> Sat Sep  6 09:50:18 2014
>> > @@ -62,6 +62,8 @@ public class ReceiveSubscriber implement
>> >       */
>> >      private final LinkedBlockingQueue<Message> queue;
>> >
>> > +    private boolean connectionStarted;
>>
>> This needs to be volatile, as it is accessed from multiple threads.
>>
>> > +
>> >      /**
>> >       * Constructor takes the necessary JNDI related parameters to
>> create a
>> >       * connection and prepare to begin receiving messages.
>> > @@ -222,6 +224,7 @@ public class ReceiveSubscriber implement
>> >      public void start() throws JMSException {
>> >          log.debug("start()");
>> >          connection.start();
>> > +        connectionStarted=true;
>> >      }
>> >
>> >      /**
>> > @@ -231,6 +234,7 @@ public class ReceiveSubscriber implement
>> >      public void stop() throws JMSException {
>> >          log.debug("stop()");
>> >          connection.stop();
>> > +        connectionStarted=false;
>> >      }
>> >
>> >      /**
>> > @@ -271,11 +275,12 @@ public class ReceiveSubscriber implement
>> >      public void close() { // called from threadFinished() thread
>> >          log.debug("close()");
>> >          try {
>> > -            if(connection != null) {
>> > +            if(connection != null && connectionStarted) {
>> >                  connection.stop();
>> > +                connectionStarted = false;
>> >              }
>> >          } catch (JMSException e) {
>> > -            log.error(e.getMessage());
>> > +            log.warn("Stopping connection throws exception,
>> message:"+e.getMessage());
>> >          }
>> >          Utils.close(subscriber, log);
>> >          Utils.close(session, log);
>> >
>> > Modified: jmeter/trunk/xdocs/changes.xml
>> > URL:
>> http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1622838&r1=1622837&r2=1622838&view=diff
>> >
>> ==============================================================================
>> > --- jmeter/trunk/xdocs/changes.xml (original)
>> > +++ jmeter/trunk/xdocs/changes.xml Sat Sep  6 09:50:18 2014
>> > @@ -154,6 +154,7 @@ jmeter.gui.action.LookAndFeelCommand: Us
>> >  <li><bugzilla>46932</bugzilla> - Alias given in select statement
is not
>> used as column header in response data for a JDBC request.Based on report
>> and analysis of Nicola Ambrosetti</li>
>> >  <li><bugzilla>56539</bugzilla> - Mail reader sampler: When
Number of
>> messages to retrieve is superior to 1, Number of samples should only show 1
>> not the number of messages retrieved</li>
>> >  <li><bugzilla>56809</bugzilla> - JMSSampler closes InitialContext
too
>> early. Contributed by Bradford Hovinen (hovinen at gmail.com)</li>
>> > +<li><bugzilla>56761</bugzilla> - JMeter tries to stop already
stopped
>> JMS connection and displays "The connection is closed"</li>
>> >  </ul>
>> >
>> >  <h3>Controllers</h3>
>> > @@ -233,8 +234,8 @@ jmeter.gui.action.LookAndFeelCommand: Us
>> >  <ul>
>> >  <li><bugzilla>56691</bugzilla> - Synchronizing Timer : Add
timeout on
>> waiting</li>
>> >  <li><bugzilla>56701</bugzilla> - HTTP Authorization Manager/
Kerberos
>> Authentication: add port to SPN when server port is neither 80 nor 443.
>> Based on patches from Dan Haughey (dan.haughey at swinton.co.uk) and
>> Felix Schumacher (felix.schumacher at internetallee.de)</li>
>> > -<li><bugzilla>56841</bugzilla> - New configuration element:
DNS Cache
>> Manager to improve the testing of CDN. Based on patch from Dzmitry Kashlach
>> (dzmitrykashlach at gmail.com)</li>
>> > -<li><bugzilla>52061</bugzilla> - Allow access to Request
Headers in
>> Regex Extractor. Based on patch from Dzmitry Kashlach (dzmitrykashlach at
>> gmail.com)</li>
>> > +<li><bugzilla>56841</bugzilla> - New configuration element:
DNS Cache
>> Manager to improve the testing of CDN. Based on patch from Dzmitry Kashlach
>> (dzmitrykashlach at gmail.com), donated by BlazeMeter Ltd.</li>
>> > +<li><bugzilla>52061</bugzilla> - Allow access to Request
Headers in
>> Regex Extractor. Based on patch from Dzmitry Kashlach (dzmitrykashlach at
>> gmail.com), donated by BlazeMeter Ltd.</li>
>> >  </ul>
>> >
>> >  <h3>Functions</h3>
>> > @@ -274,13 +275,14 @@ jmeter.gui.action.LookAndFeelCommand: Us
>> >  <li>James Liang (jliang at andera.com)</li>
>> >  <li>Emmanuel Bourg (ebourg at apache.org)</li>
>> >  <li>Nicola Ambrosetti (ambrosetti.nicola at gmail.com)</li>
>> > -<li><a href="http://ubikloadpack.com">Ubik Load Pack support</a></li>
>> > +<li><a href="http://ubikloadpack.com">Ubik Load Pack</a></li>
>> >  <li>Mikhail Epikhin (epihin-m at yandex.ru)</li>
>> >  <li>Dan Haughey (dan.haughey at swinton.co.uk)</li>
>> >  <li>Felix Schumacher (felix.schumacher at internetallee.de)</li>
>> >  <li>Dzmitry Kashlach (dzmitrykashlach at gmail.com)</li>
>> >  <li>Andrey Pohilko (apc4 at ya.ru)</li>
>> >  <li>Bradford Hovinen (hovinen at gmail.com)</li>
>> > +<li><a href="http://blazemeter.com">BlazeMeter Ltd.</a></li>
>> >  </ul>
>> >
>> >  <br/>
>> >
>> >
>>
>
>
>
> --
> Cordialement.
> Philippe Mouawad.

Mime
View raw message