From 1af917ef137a63fbf2e77a9d94b8277bfa1d2718 Mon Sep 17 00:00:00 2001
From: Wilson Liu <wliu5@unimelb.edu.au>
Date: Thu, 5 Sep 2019 22:28:56 +1000
Subject: [PATCH] Refactor to use ArrayBlockingQueue

---
 pom.xml                                             | 2 +-
 src/main/java/unimelb/mf/client/sync/MFSyncApp.java | 6 +++---
 src/main/scripts/unix/unimelb-mf-check              | 2 +-
 src/main/scripts/unix/unimelb-mf-download           | 2 +-
 src/main/scripts/unix/unimelb-mf-instrument-upload  | 2 +-
 src/main/scripts/unix/unimelb-mf-upload             | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/pom.xml b/pom.xml
index b13fb5e..4ac1cdc 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
 
 	<groupId>au.edu.unimelb.mf</groupId>
 	<artifactId>unimelb-mf-clients</artifactId>
-	<version>0.3.7</version>
+	<version>0.3.8</version>
 	<packaging>jar</packaging>
 	<name>unimelb-mf-clients</name>
 	<url>https://gitlab.unimelb.edu.au/resplat-mediaflux/unimelb-mf-clients</url>
diff --git a/src/main/java/unimelb/mf/client/sync/MFSyncApp.java b/src/main/java/unimelb/mf/client/sync/MFSyncApp.java
index 446f34c..2b4a449 100644
--- a/src/main/java/unimelb/mf/client/sync/MFSyncApp.java
+++ b/src/main/java/unimelb/mf/client/sync/MFSyncApp.java
@@ -21,7 +21,7 @@ import java.util.EnumSet;
 import java.util.List;
 import java.util.Timer;
 import java.util.TimerTask;
-import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ArrayBlockingQueue;
 import java.util.concurrent.ThreadFactory;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
@@ -218,7 +218,7 @@ public abstract class MFSyncApp extends AbstractMFApp<unimelb.mf.client.sync.set
         }
 
         _queriers = new ThreadPoolExecutor(settings().numberOfQueriers(), settings().numberOfQueriers(), 0,
-                TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadFactory() {
+                TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(100), new ThreadFactory() {
 
                     @Override
                     public Thread newThread(Runnable r) {
@@ -227,7 +227,7 @@ public abstract class MFSyncApp extends AbstractMFApp<unimelb.mf.client.sync.set
                 }, new ThreadPoolExecutor.CallerRunsPolicy());
 
         _workers = new ThreadPoolExecutor(settings().numberOfWorkers(), settings().numberOfWorkers(), 0,
-                TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(), new ThreadFactory() {
+                TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(100), new ThreadFactory() {
 
                     @Override
                     public Thread newThread(Runnable r) {
diff --git a/src/main/scripts/unix/unimelb-mf-check b/src/main/scripts/unix/unimelb-mf-check
index a3a68c3..8dd2713 100644
--- a/src/main/scripts/unix/unimelb-mf-check
+++ b/src/main/scripts/unix/unimelb-mf-check
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -XX:+UseG1GC -XX:+UseStringDeduplication -Xms512m -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFCheck ${1+"$@"}
+java -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFCheck ${1+"$@"}
diff --git a/src/main/scripts/unix/unimelb-mf-download b/src/main/scripts/unix/unimelb-mf-download
index f67b329..636d27f 100644
--- a/src/main/scripts/unix/unimelb-mf-download
+++ b/src/main/scripts/unix/unimelb-mf-download
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -XX:+UseG1GC -XX:+UseStringDeduplication -Xms512m -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFDownload ${1+"$@"}
+java -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFDownload ${1+"$@"}
diff --git a/src/main/scripts/unix/unimelb-mf-instrument-upload b/src/main/scripts/unix/unimelb-mf-instrument-upload
index 3448734..b64a328 100644
--- a/src/main/scripts/unix/unimelb-mf-instrument-upload
+++ b/src/main/scripts/unix/unimelb-mf-instrument-upload
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -XX:+UseG1GC -XX:+UseStringDeduplication -Xms512m -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFInstrumentUpload ${1+"$@"}
+java -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFInstrumentUpload ${1+"$@"}
diff --git a/src/main/scripts/unix/unimelb-mf-upload b/src/main/scripts/unix/unimelb-mf-upload
index d30a69b..d79ce0c 100644
--- a/src/main/scripts/unix/unimelb-mf-upload
+++ b/src/main/scripts/unix/unimelb-mf-upload
@@ -25,4 +25,4 @@ JAR=${LIB}/unimelb-mf-clients.jar
 [[ -z $(which java) ]] && echo "Java is not found." >&2 && exit 1
 
 # execute the command
-java -XX:+UseG1GC -XX:+UseStringDeduplication -Xms512m -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFUpload ${1+"$@"}
+java -XX:+UseG1GC -XX:MaxGCPauseMillis=200 -XX:+UseStringDeduplication -Xmx1g -cp "${JAR}" unimelb.mf.client.sync.cli.MFUpload ${1+"$@"}
-- 
GitLab