Parth Brahmbhatt created STORM-1569:
---------------------------------------
Summary: Allowing users to specify the nimbus thrift server queue
size.
Key: STORM-1569
URL: https://issues.apache.org/jira/browse/STORM-1569
Project: Apache Storm
Issue Type: Improvement
Components: storm-core
Affects Versions: 0.10.0
Reporter: Parth Brahmbhatt
Assignee: Parth Brahmbhatt
Fix For: 1.0.0
Currently the nimbus sever in secure mode uses
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html
Backed by
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/SynchronousQueue.html,
Please see
https://github.com/apache/thrift/blob/0.9.2/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java#L132.
This means that if all executor threads are busy serving a request and new
requests come in we will see RejectedExecutionExceptions in logs once they have
reached the retry limit. Instead we should allow the requests to be queued.
This patch allows the requests to be queued by replacing SynchronousQueue with
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ArrayBlockingQueue.html
with default size of 100000 requests which should be large enough for most
applications. Applications can modify this default by adding the config
nimbus.queue.size to their storm.yaml and bouncing nimbus.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)