You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@cassandra.apache.org by wi101 <gi...@git.apache.org> on 2018/05/07 16:10:48 UTC

[GitHub] cassandra pull request #223: changed memtable_flush_writers value

GitHub user wi101 opened a pull request:

    https://github.com/apache/cassandra/pull/223

    changed memtable_flush_writers value

    If we work in Client Mode, and `memtable_flush_writers = 0` there is a problem with `ColumnFamilyStore` when we want to add Tables & views. There is an `java.lang.IllegalArgumentException` because of the `flushExecutor` 
    in `JMXEnabledThreadPoolExecutor:68` the `maxPoolSize` is equal to `corePoolSize`. This exception is caused by `java.lang.IllegalArgumentException at java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1314) ... ` 
     `maximumPoolSize <= 0 ` and in our case `maximumPoolSize == corePoolSize == 0` 
    I changed the value of `memtable_flush_writers` to 1 because in `DatabaseDescriptor:560` the is this condition:
    ```
    if (conf.memtable_flush_writers == 0)
            {
                conf.memtable_flush_writers = conf.data_file_directories.length == 1 ? 2 : 1;
            }
    ```

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

    $ git pull https://github.com/wi101/cassandra trunk

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

    https://github.com/apache/cassandra/pull/223.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 #223
    
----
commit e3d6020fd81cc4d54f71add907ed73b0f8a62d31
Author: Wiem Zine El Abidine <wi...@...>
Date:   2018-05-07T16:09:24Z

    changed memtable_flush_writers value
    
    If we work in Client Mode, and `memtable_flush_writers = 0` there is a problem with `ColumnFamilyStore` when we want to add Tables & views. There is an `java.lang.IllegalArgumentException` because of the `flushExecutor` 
    in `JMXEnabledThreadPoolExecutor:68` the `maxPoolSize` is equal to `corePoolSize`. This exception is caused by `java.lang.IllegalArgumentException at java.util.concurrent.ThreadPoolExecutor.<init>(ThreadPoolExecutor.java:1314) ... ` 
     `maximumPoolSize <= 0 ` and in our case `maximumPoolSize == corePoolSize == 0` 
    I changed the value of `memtable_flush_writers` to 1 because in `DatabaseDescriptor:560` the is this condition:
    ```
    if (conf.memtable_flush_writers == 0)
            {
                conf.memtable_flush_writers = conf.data_file_directories.length == 1 ? 2 : 1;
            }
    ```

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@cassandra.apache.org
For additional commands, e-mail: pr-help@cassandra.apache.org