Repository: incubator-gossip Updated Branches: refs/heads/master 3f5c05767 -> 6bd922ed5
GOSSIP-28 use less threads by default Project: http://git-wip-us.apache.org/repos/asf/incubator-gossip/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-gossip/commit/ee976994 Tree: http://git-wip-us.apache.org/repos/asf/incubator-gossip/tree/ee976994 Diff: http://git-wip-us.apache.org/repos/asf/incubator-gossip/diff/ee976994 Branch: refs/heads/master Commit: ee9769942ec098436d9a484aa27c52547862fff7 Parents: 89b269e Author: Edward Capriolo <[email protected]> Authored: Fri Oct 7 18:14:28 2016 -0400 Committer: Edward Capriolo <[email protected]> Committed: Fri Oct 7 18:14:28 2016 -0400 ---------------------------------------------------------------------- .../java/org/apache/gossip/manager/ActiveGossipThread.java | 2 +- src/main/java/org/apache/gossip/manager/GossipCore.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/ee976994/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java b/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java index 28de244..064df59 100644 --- a/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java +++ b/src/main/java/org/apache/gossip/manager/ActiveGossipThread.java @@ -60,7 +60,7 @@ public class ActiveGossipThread { this.gossipManager = gossipManager; random = new Random(); this.gossipCore = gossipCore; - this.scheduledExecutorService = Executors.newScheduledThreadPool(1024); + this.scheduledExecutorService = Executors.newScheduledThreadPool(2); } public void init() { http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/ee976994/src/main/java/org/apache/gossip/manager/GossipCore.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/gossip/manager/GossipCore.java b/src/main/java/org/apache/gossip/manager/GossipCore.java index 6dc4a5c..367c47b 100644 --- a/src/main/java/org/apache/gossip/manager/GossipCore.java +++ b/src/main/java/org/apache/gossip/manager/GossipCore.java @@ -8,12 +8,16 @@ import java.net.URI; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ArrayBlockingQueue; +import java.util.concurrent.BlockingQueue; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.ThreadPoolExecutor.DiscardPolicy; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import org.apache.gossip.GossipMember; @@ -42,11 +46,14 @@ public class GossipCore { private ExecutorService service; private final ConcurrentHashMap<String, ConcurrentHashMap<String, GossipDataMessage>> perNodeData; private final ConcurrentHashMap<String, SharedGossipDataMessage> sharedData; + private final BlockingQueue<Runnable> workQueue; + public GossipCore(GossipManager manager){ this.gossipManager = manager; requests = new ConcurrentHashMap<>(); - service = Executors.newFixedThreadPool(500); + workQueue = new ArrayBlockingQueue<>(1024); + service = new ThreadPoolExecutor(1, 5, 1, TimeUnit.SECONDS, workQueue, new DiscardPolicy()); perNodeData = new ConcurrentHashMap<>(); sharedData = new ConcurrentHashMap<>(); }
