80a81 > import org.apache.thrift.server.TThreadedSelectorServer; 146a148 > options.addOption("s", "selectors", true, "How many selector threads to use."); 158a161 > servers.addOption(new Option("selector", false, "Use the TThreadedSelectorServer. This implies the framed transport.")); 275a279,302 > private static TServer getTThreadedSelectorServer(TProtocolFactory protocolFactory, > TProcessor processor, TTransportFactory transportFactory, > int workerThreads, int selectorThreads, int maxCallQueueSize, > InetSocketAddress inetSocketAddress, ThriftMetrics metrics) > throws TTransportException { > TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(inetSocketAddress); > log.info("starting HBase ThreadedSelector Thrift server on " + inetSocketAddress.toString()); > TThreadedSelectorServer.Args serverArgs = new TThreadedSelectorServer.Args(serverTransport); > if (workerThreads > 0) { > serverArgs.workerThreads(workerThreads); > } > if (selectorThreads > 0) { > serverArgs.selectorThreads(selectorThreads); > } > > ExecutorService executorService = createExecutor( > workerThreads, maxCallQueueSize, metrics); > serverArgs.executorService(executorService); > serverArgs.processor(processor); > serverArgs.transportFactory(transportFactory); > serverArgs.protocolFactory(protocolFactory); > return new TThreadedSelectorServer(serverArgs); > } > 352a380 > int selectorThreads = 0; 434a463 > boolean selector = cmd.hasOption("selector"); 443a473,474 > } else if (selector) { > implType = "selector"; 487c518,520 < --- > if (cmd.hasOption("s")) { > selectorThreads = Integer.parseInt(cmd.getOptionValue("s")); > } 527a561,569 > } else if (selector) { > server = getTThreadedSelectorServer(protocolFactory, > processor, > transportFactory, > workerThreads, > selectorThreads, > maxCallQueueSize, > inetSocketAddress, > metrics);