On Wednesday, June 17, 2020, Felix Schumacher <
[email protected]> wrote:

>
> Am 17.06.20 um 12:40 schrieb Philippe Mouawad:
> > Hi Felix,
> > Thanks for the fix.
> > Thinking about it, what would happen to long requests for which response
> > would arrive after stop ?
> >
> > They would not be consumed and only added if a new start is done right ?
> Yes, I think that is what would happen (that is why I chose the global
> timer in the first place). But I really don't have a better idea at the
> moment.
> >
> > Note this is edgy and there is a bugzilla that complains about long
> running
> > samplerresuit being added much later.
>
> +1
>
> Thanks for your debugging session. How did you find the cause? git
> bisect or rather informed guessing  ;)?


Thread dump that was more informative mentioning ProxControl, then looked
at suspects
And as always luck :)

>
> Felix
>
> >
> >
> > Regards
> >
> > On Wednesday, June 17, 2020, <[email protected]> wrote:
> >
> >> This is an automated email from the ASF dual-hosted git repository.
> >>
> >> fschumacher pushed a commit to branch master
> >> in repository https://gitbox.apache.org/repos/asf/jmeter.git
> >>
> >>
> >> The following commit(s) were added to refs/heads/master by this push:
> >>      new 913735d  Fix ProxyControl timer that prevents correct shutdown
> >> 913735d is described below
> >>
> >> commit 913735db54bf5a2e0a1461aee0e110df19512424
> >> Author: Felix Schumacher <[email protected]>
> >> AuthorDate: Wed Jun 17 12:20:21 2020 +0200
> >>
> >>     Fix ProxyControl timer that prevents correct shutdown
> >>
> >>     Regression introduced with Bug 64400
> >>
> >>     Bugzilla Id: 64479
> >> ---
> >>  .../java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java | 9
> >> ++++++++-
> >>  xdocs/changes.xml                                                | 1 +
> >>  2 files changed, 9 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/
> >> protocol/http/proxy/ProxyControl.java b/src/protocol/http/src/main/
> >> java/org/apache/jmeter/protocol/http/proxy/ProxyControl.java
> >> index 9016120..3d86b4d 100644
> >> --- a/src/protocol/http/src/main/java/org/apache/jmeter/
> >> protocol/http/proxy/ProxyControl.java
> >> +++ b/src/protocol/http/src/main/java/org/apache/jmeter/
> >> protocol/http/proxy/ProxyControl.java
> >> @@ -286,12 +286,13 @@ public class ProxyControl extends
> GenericController
> >> implements NonTestElement {
> >>      // accessed from Swing-Thread, only
> >>      private String oldPrefix = null;
> >>
> >> +    private transient javax.swing.Timer sampleWorkerTimer;
> >> +
> >>      public ProxyControl() {
> >>          setPort(DEFAULT_PORT);
> >>          setExcludeList(new HashSet<>());
> >>          setIncludeList(new HashSet<>());
> >>          setCaptureHttpHeaders(true); // maintain original behaviour
> >> -        new javax.swing.Timer(200, this::putSamplesIntoModel).start();
> >>      }
> >>
> >>      /**
> >> @@ -508,6 +509,8 @@ public class ProxyControl extends GenericController
> >> implements NonTestElement {
> >>              log.error("Could not initialise key store", e);
> >>              throw e;
> >>          }
> >> +        sampleWorkerTimer = new javax.swing.Timer(200,
> >> this::putSamplesIntoModel);
> >> +        sampleWorkerTimer.start();
> >>          notifyTestListenersOfStart();
> >>          try {
> >>              server = new Daemon(getPort(), this);
> >> @@ -738,6 +741,10 @@ public class ProxyControl extends GenericController
> >> implements NonTestElement {
> >>              notifyTestListenersOfEnd();
> >>              server = null;
> >>          }
> >> +        if (sampleWorkerTimer != null) {
> >> +            sampleWorkerTimer.stop();
> >> +            sampleWorkerTimer = null;
> >> +        }
> >>      }
> >>
> >>      public String[] getCertificateDetails() {
> >> diff --git a/xdocs/changes.xml b/xdocs/changes.xml
> >> index aaeb561..2e31684 100644
> >> --- a/xdocs/changes.xml
> >> +++ b/xdocs/changes.xml
> >> @@ -129,6 +129,7 @@ Summary
> >>
> >>  <h3>HTTP Samplers and Test Script Recorder</h3>
> >>  <ul>
> >> +  <li><bug>64479</bug>Regression: HTTP(s) Script Recorder prevents
> >> proper shutdown in non-GUI mode</li>
> >>  </ul>
> >>
> >>  <h3>Other Samplers</h3>
> >>
> >>
>


-- 
Cordialement.
Philippe Mouawad.

Reply via email to