You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by si...@apache.org on 2013/10/02 06:40:40 UTC
svn commit: r1528305 - in /zookeeper/bookkeeper/trunk: ./
bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/
bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/ book...
Author: sijie
Date: Wed Oct 2 04:40:39 2013
New Revision: 1528305
URL: http://svn.apache.org/r1528305
Log:
BOOKKEEPER-666: Naming threads of ExecutorService (rakesh via sijie)
Modified:
zookeeper/bookkeeper/trunk/CHANGES.txt
zookeeper/bookkeeper/trunk/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/metastore/InMemoryMetastoreTable.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java
zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java
zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java
zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java
zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java
zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/proxy/HedwigProxy.java
Modified: zookeeper/bookkeeper/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/CHANGES.txt?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/CHANGES.txt (original)
+++ zookeeper/bookkeeper/trunk/CHANGES.txt Wed Oct 2 04:40:39 2013
@@ -156,6 +156,8 @@ Trunk (unreleased changes)
BOOKKEEPER-640: Log improvement - add shutdown/exit log message for the bookie services (rakesh via sijie)
+ BOOKKEEPER-666: Naming threads of ExecutorService (rakesh via sijie)
+
NEW FEATURE:
BOOKKEEPER-562: Ability to tell if a ledger is closed or not (fpj)
Modified: zookeeper/bookkeeper/trunk/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-benchmark/src/main/java/org/apache/bookkeeper/benchmark/BenchBookie.java Wed Oct 2 04:40:39 2013
@@ -145,7 +145,7 @@ public class BenchBookie {
ClientSocketChannelFactory channelFactory
= new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
.newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1, "BenchBookieClientScheduler");
ClientConfiguration conf = new ClientConfiguration();
BookieClient bc = new BookieClient(conf, channelFactory, executor);
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/BookKeeper.java Wed Oct 2 04:40:39 2013
@@ -48,6 +48,8 @@ import org.jboss.netty.channel.socket.ni
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
/**
* BookKeeper client. We assume there is one single writer to a ledger at any
* time.
@@ -132,14 +134,19 @@ public class BookKeeper {
ZooKeeperWatcherBase w = new ZooKeeperWatcherBase(conf.getZkTimeout());
this.zk = ZkUtils
.createConnectedZookeeperClient(conf.getZkServers(), w);
-
- this.channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
- Executors.newCachedThreadPool());
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
+ this.channelFactory = new NioClientSocketChannelFactory(
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "BookKeeper-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "BookKeeper-NIOWorker-%d").build()));
+ this.scheduler = Executors.newSingleThreadScheduledExecutor(tfb
+ .setNameFormat("BookKeeperClientScheduler-%d").build());
// initialize the ensemble placement
this.placementPolicy = initializeEnsemblePlacementPolicy(conf);
- mainWorkerPool = new OrderedSafeExecutor(conf.getNumWorkerThreads());
+ mainWorkerPool = new OrderedSafeExecutor(conf.getNumWorkerThreads(),
+ "BookKeeperClientWorker");
bookieClient = new BookieClient(conf, channelFactory, mainWorkerPool);
bookieWatcher = new BookieWatcher(conf, scheduler, placementPolicy, this);
bookieWatcher.readBookiesBlocking();
@@ -166,9 +173,13 @@ public class BookKeeper {
* @throws KeeperException
*/
public BookKeeper(ClientConfiguration conf, ZooKeeper zk)
- throws IOException, InterruptedException, KeeperException {
- this(conf, zk, new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
- Executors.newCachedThreadPool()));
+ throws IOException, InterruptedException, KeeperException {
+
+ this(conf, zk, new NioClientSocketChannelFactory(
+ Executors.newCachedThreadPool(new ThreadFactoryBuilder()
+ .setNameFormat("BookKeeper-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(new ThreadFactoryBuilder()
+ .setNameFormat("BookKeeper-NIOWorker-%d").build())));
ownChannelFactory = true;
}
@@ -201,11 +212,15 @@ public class BookKeeper {
this.conf = conf;
this.zk = zk;
this.channelFactory = channelFactory;
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder().setNameFormat(
+ "BookKeeperClientScheduler-%d");
+ this.scheduler = Executors
+ .newSingleThreadScheduledExecutor(tfb.build());
// initialize the ensemble placement
this.placementPolicy = initializeEnsemblePlacementPolicy(conf);
- mainWorkerPool = new OrderedSafeExecutor(conf.getNumWorkerThreads());
+ mainWorkerPool = new OrderedSafeExecutor(conf.getNumWorkerThreads(),
+ "BookKeeperClientWorker");
bookieClient = new BookieClient(conf, channelFactory, mainWorkerPool);
bookieWatcher = new BookieWatcher(conf, scheduler, placementPolicy, this);
bookieWatcher.readBookiesBlocking();
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/HierarchicalLedgerManager.java Wed Oct 2 04:40:39 2013
@@ -45,6 +45,8 @@ import org.apache.zookeeper.ZooKeeper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
/**
* Hierarchical Ledger Manager which manages ledger meta in zookeeper using 2-level hierarchical znodes.
*
@@ -87,7 +89,10 @@ class HierarchicalLedgerManager extends
super(conf, zk);
this.idGenPath = ledgerRootPath + IDGENERATION_PREFIX;
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder().setNameFormat(
+ "HierarchialLedgerManagerScheduler-%d");
+ this.scheduler = Executors
+ .newSingleThreadScheduledExecutor(tfb.build());
LOG.debug("Using HierarchicalLedgerManager with root path : {}", ledgerRootPath);
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/meta/MSLedgerManagerFactory.java Wed Oct 2 04:40:39 2013
@@ -58,6 +58,8 @@ import org.apache.zookeeper.ZooKeeper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
/**
* MetaStore Based Ledger Manager Factory
*/
@@ -201,7 +203,10 @@ public class MSLedgerManagerFactory exte
maxEntriesPerScan = conf.getMetastoreMaxEntriesPerScan();
this.idGenPath = conf.getZkLedgersRootPath() + IDGENERATION_PREFIX;
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder()
+ .setNameFormat("MSLedgerManagerScheduler-%d");
+ this.scheduler = Executors.newSingleThreadScheduledExecutor(tfb
+ .build());
}
@Override
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/metastore/InMemoryMetastoreTable.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/metastore/InMemoryMetastoreTable.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/metastore/InMemoryMetastoreTable.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/metastore/InMemoryMetastoreTable.java Wed Oct 2 04:40:39 2013
@@ -27,6 +27,8 @@ import org.apache.bookkeeper.metastore.M
import org.apache.bookkeeper.versioning.Version;
import org.apache.bookkeeper.versioning.Versioned;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
public class InMemoryMetastoreTable implements MetastoreScannableTable {
public static class MetadataVersion implements Version {
@@ -96,7 +98,11 @@ public class InMemoryMetastoreTable impl
public InMemoryMetastoreTable(InMemoryMetaStore metastore, String name) {
this.map = new TreeMap<String, Versioned<Value>>();
this.name = name;
- this.scheduler = Executors.newSingleThreadScheduledExecutor();
+ String thName = "InMemoryMetastore-Table(" + name + ")-Scheduler-%d";
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder()
+ .setNameFormat(thName);
+ this.scheduler = Executors
+ .newSingleThreadScheduledExecutor(tfb.build());
}
@Override
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/proto/BookieClient.java Wed Oct 2 04:40:39 2013
@@ -42,6 +42,9 @@ import org.jboss.netty.buffer.ChannelBuf
import org.jboss.netty.buffer.ChannelBuffers;
import org.jboss.netty.channel.socket.ClientSocketChannelFactory;
import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
+
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
import java.util.concurrent.locks.ReentrantReadWriteLock;
import static com.google.common.base.Charsets.UTF_8;
@@ -260,9 +263,14 @@ public class BookieClient {
Counter counter = new Counter();
byte hello[] = "hello".getBytes(UTF_8);
long ledger = Long.parseLong(args[2]);
- ClientSocketChannelFactory channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
- .newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
+ ClientSocketChannelFactory channelFactory = new NioClientSocketChannelFactory(
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "BookKeeper-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "BookKeeper-NIOWorker-%d").build()));
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1,
+ "BookieClientWorker");
BookieClient bc = new BookieClient(new ClientConfiguration(), channelFactory, executor);
InetSocketAddress addr = new InetSocketAddress(args[0], Integer.parseInt(args[1]));
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/main/java/org/apache/bookkeeper/util/OrderedSafeExecutor.java Wed Oct 2 04:40:39 2013
@@ -25,6 +25,9 @@ import java.util.concurrent.ScheduledExe
import java.util.concurrent.TimeUnit;
import org.apache.bookkeeper.proto.BookkeeperInternalCallbacks.GenericCallback;
+import org.apache.commons.lang.StringUtils;
+
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
/**
* This class provides 2 things over the java {@link ScheduledExecutorService}.
@@ -45,14 +48,31 @@ public class OrderedSafeExecutor {
ExecutorService threads[];
Random rand = new Random();
- public OrderedSafeExecutor(int numThreads) {
+ /**
+ * Constructs Safe executor
+ *
+ * @param numThreads
+ * - number of threads
+ * @param threadName
+ * - name of the thread
+ */
+ public OrderedSafeExecutor(int numThreads, String threadName) {
if (numThreads <= 0) {
throw new IllegalArgumentException();
}
-
+ if (StringUtils.isBlank(threadName)) {
+ // sets default name
+ threadName = "OrderedSafeExecutor";
+ }
threads = new ExecutorService[numThreads];
for (int i = 0; i < numThreads; i++) {
- threads[i] = Executors.newSingleThreadExecutor();
+ StringBuilder thName = new StringBuilder(threadName);
+ thName.append("-");
+ thName.append(i);
+ thName.append("-%d");
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder()
+ .setNameFormat(thName.toString());
+ threads[i] = Executors.newSingleThreadExecutor(tfb.build());
}
}
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/proto/TestPerChannelBookieClient.java Wed Oct 2 04:40:39 2013
@@ -72,7 +72,8 @@ public class TestPerChannelBookieClient
ClientSocketChannelFactory channelFactory
= new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1,
+ "BKClientOrderedSafeExecutor");
InetSocketAddress addr = getBookie(0);
AtomicLong bytesOutstanding = new AtomicLong(0);
@@ -109,7 +110,8 @@ public class TestPerChannelBookieClient
ClientSocketChannelFactory channelFactory
= new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1,
+ "BKClientOrderedSafeExecutor");
InetSocketAddress addr = getBookie(0);
AtomicLong bytesOutstanding = new AtomicLong(0);
@@ -144,7 +146,8 @@ public class TestPerChannelBookieClient
ClientSocketChannelFactory channelFactory
= new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1,
+ "BKClientOrderedSafeExecutor");
InetSocketAddress addr = getBookie(0);
AtomicLong bytesOutstanding = new AtomicLong(0);
@@ -242,7 +245,8 @@ public class TestPerChannelBookieClient
ClientSocketChannelFactory channelFactory
= new NioClientSocketChannelFactory(Executors.newCachedThreadPool(),
Executors.newCachedThreadPool());
- final OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ final OrderedSafeExecutor executor = new OrderedSafeExecutor(1,
+ "BKClientOrderedSafeExecutor");
InetSocketAddress addr = getBookie(0);
AtomicLong bytesOutstanding = new AtomicLong(0);
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/BookieClientTest.java Wed Oct 2 04:40:39 2013
@@ -72,7 +72,7 @@ public class BookieClientTest extends Te
bs.start();
channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
.newCachedThreadPool());
- executor = new OrderedSafeExecutor(2);
+ executor = new OrderedSafeExecutor(2, "BKClientOrderedSafeExecutor");
}
@Override
Modified: zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java (original)
+++ zookeeper/bookkeeper/trunk/bookkeeper-server/src/test/java/org/apache/bookkeeper/test/LoopbackClient.java Wed Oct 2 04:40:39 2013
@@ -97,7 +97,7 @@ class LoopbackClient implements WriteCal
LoopbackClient lb;
ClientSocketChannelFactory channelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
.newCachedThreadPool());
- OrderedSafeExecutor executor = new OrderedSafeExecutor(2);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(2, "BookieClientScheduler");
try {
InetSocketAddress addr = new InetSocketAddress("127.0.0.1", Integer.valueOf(args[2]).intValue());
lb = new LoopbackClient(channelFactory, executor, begin, limit.intValue());
Modified: zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-client/src/main/java/org/apache/hedwig/client/netty/HedwigClientImpl.java Wed Oct 2 04:40:39 2013
@@ -24,7 +24,7 @@ import org.slf4j.LoggerFactory;
import org.jboss.netty.channel.ChannelFactory;
import org.jboss.netty.channel.socket.nio.NioClientSocketChannelFactory;
-import com.google.protobuf.ByteString;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
import org.apache.hedwig.client.api.Client;
import org.apache.hedwig.client.conf.ClientConfiguration;
@@ -65,7 +65,10 @@ public class HedwigClientImpl implements
// This will create its own client socket channel factory.
protected HedwigClientImpl(ClientConfiguration cfg) {
this(cfg, new NioClientSocketChannelFactory(
- Executors.newCachedThreadPool(), Executors.newCachedThreadPool()));
+ Executors.newCachedThreadPool(new ThreadFactoryBuilder()
+ .setNameFormat("HedwigClient-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(new ThreadFactoryBuilder()
+ .setNameFormat("HedwigClient-NIOWorker-%d").build())));
ownChannelFactory = true;
}
Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/benchmark/BookieBenchmark.java Wed Oct 2 04:40:39 2013
@@ -41,7 +41,7 @@ public class BookieBenchmark extends Abs
BookieClient bkc;
InetSocketAddress addr;
ClientSocketChannelFactory channelFactory;
- OrderedSafeExecutor executor = new OrderedSafeExecutor(1);
+ OrderedSafeExecutor executor = new OrderedSafeExecutor(1, "BookieBenchmarkScheduler");
public BookieBenchmark(String bookieHostPort) throws Exception {
Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/netty/PubSubServer.java Wed Oct 2 04:40:39 2013
@@ -31,6 +31,8 @@ import java.util.concurrent.SynchronousQ
import java.util.concurrent.TimeUnit;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
import org.apache.bookkeeper.conf.ClientConfiguration;
import org.apache.bookkeeper.client.BookKeeper;
import org.apache.bookkeeper.client.BKException;
@@ -401,11 +403,19 @@ public class PubSubServer {
try {
// Since zk is needed by almost everyone,try to see if we
// need that first
- scheduler = Executors.newSingleThreadScheduledExecutor();
- serverChannelFactory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors
- .newCachedThreadPool());
- clientChannelFactory = new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors
- .newCachedThreadPool());
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
+ scheduler = Executors.newSingleThreadScheduledExecutor(tfb
+ .setNameFormat("PubSubServerScheduler-%d").build());
+ serverChannelFactory = new NioServerSocketChannelFactory(
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "PubSub-Server-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "PubSub-Server-NIOWorker-%d").build()));
+ clientChannelFactory = new NioClientSocketChannelFactory(
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "PubSub-Client-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "PubSub-Client-NIOWorker-%d").build()));
instantiateZookeeperClient();
instantiateMetadataManagerFactory();
Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/persistence/ReadAheadCache.java Wed Oct 2 04:40:39 2013
@@ -154,7 +154,8 @@ public class ReadAheadCache implements P
this.realPersistenceManager = realPersistenceManager;
this.cfg = cfg;
numCacheWorkers = cfg.getNumReadAheadCacheThreads();
- cacheWorkers = new OrderedSafeExecutor(numCacheWorkers);
+ cacheWorkers = new OrderedSafeExecutor(numCacheWorkers,
+ "ReadAheadCacheScheduler");
reloadConf(cfg);
}
Modified: zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/proxy/HedwigProxy.java
URL: http://svn.apache.org/viewvc/zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/proxy/HedwigProxy.java?rev=1528305&r1=1528304&r2=1528305&view=diff
==============================================================================
--- zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/proxy/HedwigProxy.java (original)
+++ zookeeper/bookkeeper/trunk/hedwig-server/src/main/java/org/apache/hedwig/server/proxy/HedwigProxy.java Wed Oct 2 04:40:39 2013
@@ -45,6 +45,8 @@ import org.apache.hedwig.server.netty.Pu
import org.apache.hedwig.server.netty.PubSubServerPipelineFactory;
import org.apache.hedwig.server.netty.UmbrellaHandler;
+import com.google.common.util.concurrent.ThreadFactoryBuilder;
+
public class HedwigProxy {
static final Logger logger = LoggerFactory.getLogger(HedwigProxy.class);
@@ -78,9 +80,12 @@ public class HedwigProxy {
@Override
public void run() {
client = new HedwigClient(cfg);
-
- serverSocketChannelFactory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(),
- Executors.newCachedThreadPool());
+ ThreadFactoryBuilder tfb = new ThreadFactoryBuilder();
+ serverSocketChannelFactory = new NioServerSocketChannelFactory(
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "HedwigProxy-NIOBoss-%d").build()),
+ Executors.newCachedThreadPool(tfb.setNameFormat(
+ "HedwigProxy-NIOWorker-%d").build()));
initializeHandlers();
initializeNetty();