You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2016/12/28 17:42:52 UTC
svn commit: r1776310 -
/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java
Author: pmouawad
Date: Wed Dec 28 17:42:52 2016
New Revision: 1776310
URL: http://svn.apache.org/viewvc?rev=1776310&view=rev
Log:
Avoid synchronization
Modified:
jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java
Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java?rev=1776310&r1=1776309&r2=1776310&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/samplers/HoldSampleSender.java Wed Dec 28 17:42:52 2016
@@ -18,13 +18,12 @@
package org.apache.jmeter.samplers;
-import org.apache.log.Logger;
-import org.apache.jorphan.logging.LoggingManager;
-
-import java.util.List;
-import java.util.ArrayList;
import java.io.ObjectStreamException;
import java.io.Serializable;
+import java.util.concurrent.ConcurrentLinkedQueue;
+
+import org.apache.jorphan.logging.LoggingManager;
+import org.apache.log.Logger;
/**
* Lars-Erik Helander provided the idea (and original implementation) for the
@@ -35,7 +34,7 @@ public class HoldSampleSender extends Ab
private static final long serialVersionUID = 240L;
- private final List<SampleEvent> sampleStore = new ArrayList<>();
+ private final ConcurrentLinkedQueue<SampleEvent> sampleStore = new ConcurrentLinkedQueue<>();
private final RemoteSampleListener listener;
@@ -62,23 +61,18 @@ public class HoldSampleSender extends Ab
}
listener.testEnded(host);
sampleStore.clear();
- } catch (Throwable ex) {
+ } catch (Error | RuntimeException ex) { // NOSONAR We want to have errors logged in log file
+ log.error("testEnded(host)", ex);
+ throw ex;
+ } catch (Exception ex) {
log.error("testEnded(host)", ex);
- if (ex instanceof Error){
- throw (Error) ex;
- }
- if (ex instanceof RuntimeException){
- throw (RuntimeException) ex;
- }
}
}
@Override
public void sampleOccurred(SampleEvent e) {
- synchronized (sampleStore) {
- sampleStore.add(e);
- }
+ sampleStore.add(e);
}
/**