Updated Branches: refs/heads/master 31b68c40f -> 680433bec
ACCUMULO-2136 Move Thread.start out of Fate's constructor Signed-off-by: Mike Drob <md...@cloudera.com> Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/680433be Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/680433be Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/680433be Branch: refs/heads/master Commit: 680433becd10548b8ada2041c993295b50e3794e Parents: 31b68c4 Author: Vikram Srivastava <vikr...@cloudera.com> Authored: Thu Jan 9 23:46:11 2014 -0800 Committer: Mike Drob <md...@cloudera.com> Committed: Wed Jan 22 14:12:09 2014 -0500 ---------------------------------------------------------------------- .../main/java/org/apache/accumulo/fate/Fate.java | 16 +++++++++++++--- .../java/org/apache/accumulo/master/Master.java | 3 ++- 2 files changed, 15 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/680433be/fate/src/main/java/org/apache/accumulo/fate/Fate.java ---------------------------------------------------------------------- diff --git a/fate/src/main/java/org/apache/accumulo/fate/Fate.java b/fate/src/main/java/org/apache/accumulo/fate/Fate.java index 2d69647..ec41be2 100644 --- a/fate/src/main/java/org/apache/accumulo/fate/Fate.java +++ b/fate/src/main/java/org/apache/accumulo/fate/Fate.java @@ -138,11 +138,21 @@ public class Fate<T> { } - // TODO: move thread creation to another method ACCUMULO-2136 - public Fate(T environment, TStore<T> store, int numThreads) { + /** + * Creates a Fault-tolerant executor. + * <p> + * Note: Users of this class should call {@link #startTransactionRunners(int)} to + * launch the {@link TransactionRunner} threads after creating a Fate object. + */ + public Fate(T environment, TStore<T> store) { this.store = store; this.environment = environment; - + } + + /** + * Launches the specified number of {@link TransactionRunner} threads. + */ + public void startTransactionRunners(int numThreads) { for (int i = 0; i < numThreads; i++) { // TODO: use an ExecutorService, maybe a utility to do these steps throughout the server packages - ACCUMULO-1311 Thread thread = new Daemon(new LoggingRunnable(log, new TransactionRunner()), "Repo runner " + i); http://git-wip-us.apache.org/repos/asf/accumulo/blob/680433be/server/master/src/main/java/org/apache/accumulo/master/Master.java ---------------------------------------------------------------------- diff --git a/server/master/src/main/java/org/apache/accumulo/master/Master.java b/server/master/src/main/java/org/apache/accumulo/master/Master.java index 86a35cd..5264f46 100644 --- a/server/master/src/main/java/org/apache/accumulo/master/Master.java +++ b/server/master/src/main/java/org/apache/accumulo/master/Master.java @@ -897,7 +897,8 @@ public class Master implements LiveTServerSet.Listener, TableObserver, CurrentSt int threads = this.getConfiguration().getConfiguration().getCount(Property.MASTER_FATE_THREADPOOL_SIZE); - fate = new Fate<Master>(this, store, threads); + fate = new Fate<Master>(this, store); + fate.startTransactionRunners(threads); SimpleTimer.getInstance().schedule(new Runnable() {