You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Jon Meredith (JIRA)" <ji...@apache.org> on 2019/08/13 20:39:00 UTC
[jira] [Commented] (CASSANDRA-15277) Make it possible to resize
concurrent read / write thread pools at runtime
[ https://issues.apache.org/jira/browse/CASSANDRA-15277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16906591#comment-16906591 ]
Jon Meredith commented on CASSANDRA-15277:
------------------------------------------
Branch: https://github.com/jonmeredith/cassandra/tree/CASSANDRA-15277
Pull request: https://github.com/apache/cassandra/pull/340 Add support for resizing the SEPExecutor thread pools used by some of the work stages.
This version has the smallest change to the SEPExecutor itself and introduces a new flag to make the workers release and re-acquire work permits while the thread setting the size adds/discards work permits to get the desired maximum concurrency.
There are two other design choices I could explore.
1) Convert the work permit representation to signed and have worker threads return permits while it is non-positive. This allows the resizing thread to immediately exit.
2) Save introducing the resizing volatile boolean, by dedicating a bit in `permits` to mark when resizing is taking place - it gets checked anyway, but would be a slightly larger change and would reduce the maximum number of taskwork permits representable.
> Make it possible to resize concurrent read / write thread pools at runtime
> --------------------------------------------------------------------------
>
> Key: CASSANDRA-15277
> URL: https://issues.apache.org/jira/browse/CASSANDRA-15277
> Project: Cassandra
> Issue Type: Improvement
> Components: Local/Other
> Reporter: Jon Meredith
> Assignee: Jon Meredith
> Priority: Normal
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> To better mitigate cluster overload the executor services for various stages should be configurable at runtime (probably as a JMX hot property).
> Related to CASSANDRA-5044, this would add the capability to resize to multiThreadedLowSignalStage pools based on SEPExecutor.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org