cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CASSANDRA-1930) db.Table flusherLock write lock fairness policy is sub-optimal
Date Tue, 04 Jan 2011 05:31:47 GMT

     [ https://issues.apache.org/jira/browse/CASSANDRA-1930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Jonathan Ellis updated CASSANDRA-1930:
--------------------------------------

    Affects Version/s:     (was: 0.7.0)
                           (was: 0.7.0 rc 3)
                           (was: 0.7.0 rc 2)
                           (was: 0.6.9)
                           (was: 0.6.8)
                           (was: 0.7.0 rc 1)
                           (was: 0.6.7)
                           (was: 0.6.6)
                           (was: 0.7 beta 2)
                           (was: 0.6.5)
                           (was: 0.7 beta 3)
                           (was: 0.7.1)
                           (was: 0.6.4)
                           (was: 0.6.3)
                           (was: 0.6.2)
                           (was: 0.6.1)
                           (was: 0.8)
                           (was: 0.7 beta 1)
                           (was: 0.6)
                           (was: 0.5)
                           (was: 0.4)
                           (was: 0.3)

(Let's leave "Affects version=unknown" to mean "affects all versions," and otherwise affects
version to be the minimum version affected.  The exhaustive-list-of-versions approach is obsoleted
whenever a new version is created, e.g. 0.6.10 or 0.7.2.)

> db.Table flusherLock write lock fairness policy is sub-optimal
> --------------------------------------------------------------
>
>                 Key: CASSANDRA-1930
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1930
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Kelvin Kakugawa
>            Assignee: Kelvin Kakugawa
>             Fix For: 0.8
>
>         Attachments: CASSANDRA-1930.0001.patch
>
>
> h4. scenario:
> 1) high write throughput cluster
> 2) external services adding material cpu contention
> h4. symptoms:
> The row mutation stage falls *very* behind.
> h4. cause:
> ReentrantReadWriteLock's fair policy causes write lock acquisition / release to require
a material amount of CPU time.
> h4. summary:
> When there are other services contending for the CPU, the RRW lock's fair policy causes
write lock acquisition / release to take enough time to eventually put threads waiting for
read lock acquisition very behind.  We repro'd this scenario by reducing the scope of the
write lock to: 1 boolean check, 1 boolean assignment, and 1 db.Memtable instantiation (itself,
just: 2 variable assignments) w/ the same performance.  Modifying the fairness policy to be
the default policy allowed the row mutation stage to keep up.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message