cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ben Manes (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-5661) Discard pooled readers for cold data
Date Sat, 20 Jul 2013 10:42:50 GMT


Ben Manes commented on CASSANDRA-5661:

Switching from LTQ to a custom elimination backoff stack appears to have dropped the 98% to
179us. The single threaded benchmark improves by 30ns. A significant gain was also observed
when using an EBS instead of an array of CLQs in the time-to-idle policy.

I'm surprised by how much of a gain occurs, so I'll have to experiment further to understand
if its factual. LTQ/CLQ are hindered by having to honor FIFO with j.u.c. interfaces, and LIFO
elimination is the ideal strategy for an object pool. The more frequently successful exchanges
may reduce down to eden-space GC, resulting in major net wins. That, or I'm prematurely believing
that its working correctly.
> Discard pooled readers for cold data
> ------------------------------------
>                 Key: CASSANDRA-5661
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.1
>            Reporter: Jonathan Ellis
>            Assignee: Pavel Yaskevich
>             Fix For: 2.0.1
>         Attachments: CASSANDRA-5661-multiway-per-sstable.patch, CASSANDRA-5661.patch,
CASSANDRA-5661-v2-global-multiway-per-sstable.patch, DominatorTree.png, Histogram.png
> Reader pooling was introduced in CASSANDRA-4942 but pooled RandomAccessReaders are never
cleaned up until the SSTableReader is closed.  So memory use is "the worst case simultaneous
RAR we had open for this file, forever."
> We should introduce a global limit on how much memory to use for RAR, and evict old ones.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message