Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 2129 invoked from network); 4 Apr 2011 03:31:47 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 4 Apr 2011 03:31:47 -0000 Received: (qmail 65726 invoked by uid 500); 4 Apr 2011 03:31:46 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 65658 invoked by uid 500); 4 Apr 2011 03:31:46 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 65650 invoked by uid 99); 4 Apr 2011 03:31:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2011 03:31:44 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2011 03:31:42 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 06180913C2 for ; Mon, 4 Apr 2011 03:31:06 +0000 (UTC) Date: Mon, 4 Apr 2011 03:31:06 +0000 (UTC) From: "Vijay (JIRA)" To: commits@cassandra.apache.org Message-ID: <1009631885.31731.1301887866021.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <31357044.296951294783667007.JavaMail.jira@thor> Subject: [jira] [Commented] (CASSANDRA-1969) Use BB for row cache - To Improve GC performance. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-1969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13015264#comment-13015264 ] Vijay commented on CASSANDRA-1969: ---------------------------------- used reflection to change the map into a synchronized WeakHashMap in SerializingCache static { hackJNA(); } /** * this is a hack to make the WeakHashMap thread-safe. * Bug ID: JNA-179 {@link http://java.net/jira/browse/JNA-179} */ private static void hackJNA() { try { Field h = Memory.class.getDeclaredField("buffers"); h.setAccessible(true); Map map = Collections.synchronizedMap(new WeakHashMap()); h.set(null, map); } catch (Exception e) { throw new RuntimeException(e); } } > Use BB for row cache - To Improve GC performance. > ------------------------------------------------- > > Key: CASSANDRA-1969 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1969 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Linux and Mac > Reporter: Vijay > Assignee: Vijay > Priority: Minor > Attachments: 0001-Config-1969.txt, 0001-introduce-ICache-InstrumentingCache-IRowCacheProvider.txt, 0002-Update_existing-1965.txt, 0002-implement-SerializingCache.txt, 0002-implement-SerializingCacheV2.txt, 0003-New_Cache_Providers-1969.txt, 0003-add-ICache.isCopying-method.txt, 0004-Null-Check-and-duplicate-bb.txt, 0004-TestCase-1969.txt, 1969-rollup-and-config.txt, 1969_Cache_SVN_Patch.diff, BB_Cache-1945.png, JMX-Cache-1945.png, Old_Cahce-1945.png, POC-0001-Config-1945.txt, POC-0002-Update_existing-1945.txt, POC-0003-New_Cache_Providers-1945.txt > > > Java BB.allocateDirect() will allocate native memory out of the JVM and will help reducing the GC pressure in the JVM with a large Cache. > From some of the basic tests it shows around 50% improvement than doing a normal Object cache. > In addition this patch provide the users an option to choose BB.allocateDirect or store everything in the heap. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira