@Override ThreadPool.ExecutorHolder build(final AutoExecutorSettings settings, final ThreadContext threadContext) { int size = settings.size; int initialQueueSize = settings.initialQueueSize; int minQueueSize = settings.minQueueSize; int maxQueueSize = settings.maxQueueSize; int frameSize = settings.frameSize; TimeValue targetedResponseTime = settings.targetedResponseTime; final ThreadFactory threadFactory = EsExecutors.daemonThreadFactory(EsExecutors.threadName(settings.nodeName, name())); final ExecutorService executor = EsExecutors.newAutoQueueFixed( settings.nodeName + "/" + name(), size, initialQueueSize, minQueueSize, maxQueueSize, frameSize, targetedResponseTime, threadFactory, threadContext); // TODO: in a subsequent change we hope to extend ThreadPool.Info to be more specific for the thread pool type final ThreadPool.Info info = new ThreadPool.Info(name(), ThreadPool.ThreadPoolType.FIXED_AUTO_QUEUE_SIZE, size, size, null, new SizeValue(initialQueueSize)); return new ThreadPool.ExecutorHolder(executor, info); }
@Override ThreadPool.ExecutorHolder build(final AutoExecutorSettings settings, final ThreadContext threadContext) { int size = settings.size; int initialQueueSize = settings.initialQueueSize; int minQueueSize = settings.minQueueSize; int maxQueueSize = settings.maxQueueSize; int frameSize = settings.frameSize; TimeValue targetedResponseTime = settings.targetedResponseTime; final ThreadFactory threadFactory = EsExecutors.daemonThreadFactory(EsExecutors.threadName(settings.nodeName, name())); final ExecutorService executor = EsExecutors.newAutoQueueFixed( settings.nodeName + "/" + name(), size, initialQueueSize, minQueueSize, maxQueueSize, frameSize, targetedResponseTime, threadFactory, threadContext); // TODO: in a subsequent change we hope to extend ThreadPool.Info to be more specific for the thread pool type final ThreadPool.Info info = new ThreadPool.Info(name(), ThreadPool.ThreadPoolType.FIXED_AUTO_QUEUE_SIZE, size, size, null, new SizeValue(initialQueueSize)); return new ThreadPool.ExecutorHolder(executor, info); }
@Override ThreadPool.ExecutorHolder build(final AutoExecutorSettings settings, final ThreadContext threadContext) { int size = settings.size; int initialQueueSize = settings.initialQueueSize; int minQueueSize = settings.minQueueSize; int maxQueueSize = settings.maxQueueSize; int frameSize = settings.frameSize; TimeValue targetedResponseTime = settings.targetedResponseTime; final ThreadFactory threadFactory = EsExecutors.daemonThreadFactory(EsExecutors.threadName(settings.nodeName, name())); final ExecutorService executor = EsExecutors.newAutoQueueFixed( settings.nodeName + "/" + name(), size, initialQueueSize, minQueueSize, maxQueueSize, frameSize, targetedResponseTime, threadFactory, threadContext); // TODO: in a subsequent change we hope to extend ThreadPool.Info to be more specific for the thread pool type final ThreadPool.Info info = new ThreadPool.Info(name(), ThreadPool.ThreadPoolType.FIXED_AUTO_QUEUE_SIZE, size, size, null, new SizeValue(initialQueueSize)); return new ThreadPool.ExecutorHolder(executor, info); }