GitHub user jonmeredith opened a pull request:

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

    In BufferPool, make allocating thread receive a Chunk.

    Prevents a condition where the thread allocating the macro chunk could have 
all of the chunks taken from the queue before it is able to use one.
    
    This PR is currently pointed at the 3.0 branch, although I noticed that the 
fix to protect against unexpected mega chunk allocation failures 
(CASSANDRA-11710  / commit 31cab36b180) is only merged against cassandra-3.2 
and cassandra-3.11 when it seems like it would benefit the 3.0 series too.
    
    Please let me know if I should retarget against a later release. The only 
downside of pointing it at 3.0 is that the merge into 3.11 / trunk requires 
changing the return introduced in 11710 from `false` to `null`.
    
    For CASSANDRA-14832.


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

    $ git pull https://github.com/jonmeredith/cassandra CASSANDRA-14832

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

    https://github.com/apache/cassandra/pull/288.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 #288
    
----
commit e611d400f46127ac73e20cae1e1c4a856d6807a1
Author: Jon Meredith <jmeredithco@...>
Date:   2018-10-18T15:56:46Z

    In BufferPool, make allocating thread receive a Chunk.
    
    Prevents a condition where the thread allocating the macro chunk
    could have all of the chunks taken from the queue before it
    is able to use one.
    
    For CASSANDRA-14832

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to