From 441ad6eee96103f4fe96f69a6948511c87792f08 Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Sun, 30 Jun 2024 22:17:55 +0300 Subject: [PATCH 1/7] Fixes for several string formats, they are based on static analysis. --- .../jmeter/protocol/http/proxy/DefaultSamplerCreator.java | 2 +- .../org/apache/jmeter/protocol/java/sampler/JavaSampler.java | 4 ++-- .../org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java index e06ebda7ebc..77adcee9658 100644 --- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java +++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/proxy/DefaultSamplerCreator.java @@ -268,7 +268,7 @@ protected void computeFromPostBody(HTTPSamplerBase sampler, HTTPFileArg [] files = {new HTTPFileArg(out.getPath(),"",contentType)}; sampler.setHTTPFiles(files); } catch (IOException e) { - log.warn("Could not create binary file: {}", e); + log.warn("Could not create binary file", e); } } else { // Just put the whole postbody as the value of a parameter diff --git a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java index 630c28168f5..5096efbbf29 100644 --- a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java +++ b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java @@ -121,9 +121,9 @@ private void initClass() { javaClass = Class.forName(name, false, Thread.currentThread().getContextClassLoader()); Method method = javaClass.getMethod("teardownTest", JavaSamplerContext.class); isToBeRegistered = !method.getDeclaringClass().equals(AbstractJavaSamplerClient.class); - log.info("Created class: {}. Uses tearDownTest: ", name, isToBeRegistered); + log.info("Created class: %s. Uses tearDownTest: %b", name, isToBeRegistered); } catch (Exception e) { - log.error("{}\tException initialising: ", whoAmI(), name, e); + log.error("%s\tException initialising: %s %s", whoAmI(), name, e.getMessage()); } } diff --git a/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java index 64c4ff09c10..fe8c2e523d9 100644 --- a/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java +++ b/src/protocol/tcp/src/main/java/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java @@ -504,7 +504,7 @@ private void closeSocket(String socketKey) { try { con.close(); } catch (IOException e) { - log.warn("Error closing socket {}", e); //$NON-NLS-1$ + log.warn("Error closing socket", e); //$NON-NLS-1$ } } } From 23641f665684b49df8a20e9b9624f927cc162bf0 Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Sun, 30 Jun 2024 22:28:05 +0300 Subject: [PATCH 2/7] Removed several collections which are updated, but seem to be never accessed. --- .../src/main/java/org/apache/jmeter/gui/HtmlReportUI.java | 6 ------ .../main/java/org/apache/jmeter/testelement/TestPlan.java | 4 ---- .../org/apache/jmeter/protocol/jms/sampler/JMSSampler.java | 3 --- 3 files changed, 13 deletions(-) diff --git a/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java index 4ff62a8f1e2..97b5a79bc62 100644 --- a/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java +++ b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java @@ -52,7 +52,6 @@ import org.slf4j.LoggerFactory; public class HtmlReportUI implements ActionListener { - private static final Set commands = new HashSet<>(); private static final Logger LOGGER = LoggerFactory.getLogger(HtmlReportUI.class); private static final String CREATE_REQUEST = "CREATE_REQUEST"; @@ -82,11 +81,6 @@ public class HtmlReportUI implements ActionListener { private final ImageIcon inErrorIcon = JMeterUtils.getImage(IMAGES_PREFIX + iconSize +"/dialog-error-5.png");// $NON-NLS-1$ private final ImageIcon completedIcon = JMeterUtils.getImage(IMAGES_PREFIX + iconSize +"/task-complete.png");// $NON-NLS-1$ - - static { - commands.add(ActionNames.HTML_REPORT); - } - public HtmlReportUI() { super(); } diff --git a/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java index 0f19947ee28..82498960c93 100644 --- a/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java +++ b/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java @@ -43,8 +43,6 @@ public class TestPlan extends AbstractTestElement implements Serializable, TestS private static final String BASEDIR = "basedir"; - private transient List threadGroups = new ArrayList<>(); - // There's only 1 test plan, so can cache the mode here private static volatile boolean functionalMode = false; @@ -68,7 +66,6 @@ public TestPlanSchema getSchema() { // create transient item protected Object readResolve(){ - threadGroups = new ArrayList<>(); return this; } @@ -213,7 +210,6 @@ public void addTestElement(TestElement tg) { * the feature to be added to the AbstractThreadGroup attribute */ public void addThreadGroup(AbstractThreadGroup group) { - threadGroups.add(group); } /** diff --git a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java index afa833b5cdb..1ea1d922869 100644 --- a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java +++ b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java @@ -254,7 +254,6 @@ private void handleOneWay(SampleResult res) throws JMSException { private void handleRead(JMeterContext context, SampleResult res) { LOGGER.debug("isRead"); - StringBuilder sb = new StringBuilder(75); res.setSuccessful(true); Sampler sampler = context.getPreviousSampler(); SampleResult sr = context.getPreviousResult(); @@ -273,8 +272,6 @@ private void handleRead(JMeterContext context, SampleResult res) { do { result = browseQueueForConsumption(sendQueue, jmsSelector, res, buffer, propBuffer); if (result != null) { - sb.append(result); - sb.append('\n'); sampleCounter++; } sampleTries++; From e557c1c59289e4367277becec2baa1be2e22a6af Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Sun, 30 Jun 2024 22:32:04 +0300 Subject: [PATCH 3/7] Revert "Removed several collections which are updated, but seem to be never accessed." This reverts commit 23641f665684b49df8a20e9b9624f927cc162bf0. --- .../src/main/java/org/apache/jmeter/gui/HtmlReportUI.java | 6 ++++++ .../main/java/org/apache/jmeter/testelement/TestPlan.java | 4 ++++ .../org/apache/jmeter/protocol/jms/sampler/JMSSampler.java | 3 +++ 3 files changed, 13 insertions(+) diff --git a/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java index 97b5a79bc62..4ff62a8f1e2 100644 --- a/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java +++ b/src/core/src/main/java/org/apache/jmeter/gui/HtmlReportUI.java @@ -52,6 +52,7 @@ import org.slf4j.LoggerFactory; public class HtmlReportUI implements ActionListener { + private static final Set commands = new HashSet<>(); private static final Logger LOGGER = LoggerFactory.getLogger(HtmlReportUI.class); private static final String CREATE_REQUEST = "CREATE_REQUEST"; @@ -81,6 +82,11 @@ public class HtmlReportUI implements ActionListener { private final ImageIcon inErrorIcon = JMeterUtils.getImage(IMAGES_PREFIX + iconSize +"/dialog-error-5.png");// $NON-NLS-1$ private final ImageIcon completedIcon = JMeterUtils.getImage(IMAGES_PREFIX + iconSize +"/task-complete.png");// $NON-NLS-1$ + + static { + commands.add(ActionNames.HTML_REPORT); + } + public HtmlReportUI() { super(); } diff --git a/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java b/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java index 82498960c93..0f19947ee28 100644 --- a/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java +++ b/src/core/src/main/java/org/apache/jmeter/testelement/TestPlan.java @@ -43,6 +43,8 @@ public class TestPlan extends AbstractTestElement implements Serializable, TestS private static final String BASEDIR = "basedir"; + private transient List threadGroups = new ArrayList<>(); + // There's only 1 test plan, so can cache the mode here private static volatile boolean functionalMode = false; @@ -66,6 +68,7 @@ public TestPlanSchema getSchema() { // create transient item protected Object readResolve(){ + threadGroups = new ArrayList<>(); return this; } @@ -210,6 +213,7 @@ public void addTestElement(TestElement tg) { * the feature to be added to the AbstractThreadGroup attribute */ public void addThreadGroup(AbstractThreadGroup group) { + threadGroups.add(group); } /** diff --git a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java index 1ea1d922869..afa833b5cdb 100644 --- a/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java +++ b/src/protocol/jms/src/main/java/org/apache/jmeter/protocol/jms/sampler/JMSSampler.java @@ -254,6 +254,7 @@ private void handleOneWay(SampleResult res) throws JMSException { private void handleRead(JMeterContext context, SampleResult res) { LOGGER.debug("isRead"); + StringBuilder sb = new StringBuilder(75); res.setSuccessful(true); Sampler sampler = context.getPreviousSampler(); SampleResult sr = context.getPreviousResult(); @@ -272,6 +273,8 @@ private void handleRead(JMeterContext context, SampleResult res) { do { result = browseQueueForConsumption(sendQueue, jmsSelector, res, buffer, propBuffer); if (result != null) { + sb.append(result); + sb.append('\n'); sampleCounter++; } sampleTries++; From bc0652340f5feaf6f14abf22ce111ef6f61f0ebb Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Tue, 6 Aug 2024 21:48:31 +0300 Subject: [PATCH 4/7] fixed placeholders --- .../org/apache/jmeter/protocol/java/sampler/JavaSampler.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java index 5096efbbf29..419f2453db4 100644 --- a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java +++ b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java @@ -121,9 +121,9 @@ private void initClass() { javaClass = Class.forName(name, false, Thread.currentThread().getContextClassLoader()); Method method = javaClass.getMethod("teardownTest", JavaSamplerContext.class); isToBeRegistered = !method.getDeclaringClass().equals(AbstractJavaSamplerClient.class); - log.info("Created class: %s. Uses tearDownTest: %b", name, isToBeRegistered); + log.info("Created class: {}. Uses tearDownTest: {}", name, isToBeRegistered); } catch (Exception e) { - log.error("%s\tException initialising: %s %s", whoAmI(), name, e.getMessage()); + log.error("{}\tException initialising: {} {}", whoAmI(), name, e.getMessage()); } } From 5ee9bbc0bf7473de2972c7bf1c3fadb5ffdbdbd8 Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Mon, 21 Oct 2024 22:32:51 +0300 Subject: [PATCH 5/7] Update src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java Co-authored-by: Vladimir Sitnikov --- .../org/apache/jmeter/protocol/java/sampler/JavaSampler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java index 419f2453db4..09d707656e9 100644 --- a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java +++ b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java @@ -123,7 +123,7 @@ private void initClass() { isToBeRegistered = !method.getDeclaringClass().equals(AbstractJavaSamplerClient.class); log.info("Created class: {}. Uses tearDownTest: {}", name, isToBeRegistered); } catch (Exception e) { - log.error("{}\tException initialising: {} {}", whoAmI(), name, e.getMessage()); + log.error("{}\tException initialising: {}", whoAmI(), name, e); } } From ec9d885569e1674fdd5a5ff81ff7a568c0ed61ae Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Sat, 23 Nov 2024 20:32:17 +0300 Subject: [PATCH 6/7] Restored a placeholder --- .../org/apache/jmeter/protocol/java/sampler/JavaSampler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java index 09d707656e9..1419c40789c 100644 --- a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java +++ b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java @@ -123,7 +123,7 @@ private void initClass() { isToBeRegistered = !method.getDeclaringClass().equals(AbstractJavaSamplerClient.class); log.info("Created class: {}. Uses tearDownTest: {}", name, isToBeRegistered); } catch (Exception e) { - log.error("{}\tException initialising: {}", whoAmI(), name, e); + log.error("{}\tException initialising: {} {}", whoAmI(), name, e); } } From fc2f147f2d567af585a1a077259b0788e4c86fcc Mon Sep 17 00:00:00 2001 From: Dmitry Kryukov Date: Fri, 29 Nov 2024 19:57:15 +0300 Subject: [PATCH 7/7] Update src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java Co-authored-by: Vladimir Sitnikov --- .../org/apache/jmeter/protocol/java/sampler/JavaSampler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java index 1419c40789c..09d707656e9 100644 --- a/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java +++ b/src/protocol/java/src/main/java/org/apache/jmeter/protocol/java/sampler/JavaSampler.java @@ -123,7 +123,7 @@ private void initClass() { isToBeRegistered = !method.getDeclaringClass().equals(AbstractJavaSamplerClient.class); log.info("Created class: {}. Uses tearDownTest: {}", name, isToBeRegistered); } catch (Exception e) { - log.error("{}\tException initialising: {} {}", whoAmI(), name, e); + log.error("{}\tException initialising: {}", whoAmI(), name, e); } }