Author: chetanm
Date: Thu Jun 23 10:07:13 2016
New Revision: 1749862
URL: http://svn.apache.org/viewvc?rev=1749862&view=rev
Log:
OAK-4483 - Remove synchronized access requirement from
MetricStatisticsProvider#getStats
Replace ConcurrentLinkedDeque with ArrayBlockingQueue for JDK 1.6 class
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
Modified:
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java?rev=1749862&r1=1749861&r2=1749862&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
(original)
+++
jackrabbit/oak/branches/1.4/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/metric/MetricStatisticsProviderTest.java
Thu Jun 23 10:07:13 2016
@@ -23,7 +23,7 @@ import java.lang.management.ManagementFa
import java.util.List;
import java.util.Queue;
import java.util.Set;
-import java.util.concurrent.ConcurrentLinkedDeque;
+import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
@@ -151,10 +151,11 @@ public class MetricStatisticsProviderTes
@Test
public void concurrentAccess() throws Exception{
+ int numWorker = 5;
//Queue is used to collect instances with minimal overhead in
concurrent scenario
- final Queue<MeterStats> statsQueue = new
ConcurrentLinkedDeque<MeterStats>();
+ final Queue<MeterStats> statsQueue = new
ArrayBlockingQueue<MeterStats>(numWorker);
List<Thread> threads = Lists.newArrayList();
- int numWorker = 5;
+
final CountDownLatch latch = new CountDownLatch(1);
for (int i = 0; i < numWorker; i++) {
threads.add(new Thread(new Runnable() {