GitHub user sakanaou opened a pull request:

    https://github.com/apache/storm/pull/2292

    STORM-2705: DRPCSpout sleeps twice

    When the `DRPCSpout` cannot fetch a request it puts itself to sleep at the 
end of `nextTuple()`. After leaving this method the case that the spout did not 
emit any tuple is handled by `ISpoutWaitStrategy` - which in case of 
`SleepSpoutWaitStrategy` (the default) issues another sleep.
    
    This causes unnecessary context switches in my opinion, especially with a 
high parallelism setting and many different `DRPCSpout`s.
    
    Only the configured / active `ISpoutWaitStrategy` should decide the action.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sakanaou/storm STORM-2705

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/storm/pull/2292.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2292
    
----
commit 84e14f6cf4cd38594b966f6069b92436eaa1f2a2
Author: sakanaou <[email protected]>
Date:   2017-08-23T14:23:58Z

    STORM-2705: DRPCSpout should not sleep itself if no request was fetched
    
    as the ISpoutWaitStrategy handles this case.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to