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)

Reply via email to