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