cassandra-pr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wi101 <...@git.apache.org>
Subject [GitHub] cassandra pull request #223: changed memtable_flush_writers value
Date Mon, 07 May 2018 16:10:48 GMT
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 <wiemzin@...>
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


Mime
View raw message